首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Ajax :返回空值

Ajax :返回空值
EN

Stack Overflow用户
提问于 2017-03-10 07:35:36
回答 2查看 1.9K关注 0票数 0

我有一个表单要插入用户。我使用POST方法和存储过程。ReturnStatusReturnMessage将根据插入的数据自动调用。

在插入数据之前,当ajax返回null值时,我遇到了一些错误。但是,当填写并提交表单时,其工作完全可以很好地显示成功操作的结果。

这是我的密码:

php

代码语言:javascript
运行
复制
if(isset($_POST['submit']))
{

    $UserNm=$_POST["UserNm"];
    $UserId=$_POST["UserId"];
    $UserPwd=$_POST["UserPwd"];

    $stmt = odbc_exec(
        $conn,
        "CALL UserInsert (
            '$UserNm',
            '$UserId',
            '$UserPwd',)"
        );

    if (!$stmt) {
        "Error : " . odbc_errormsg();
    }

    if ($stmt) {
        if (odbc_fetch_row($stmt)) {
            $ReturnStatus=odbc_result($stmt,'ReturnStatus');
            $ReturnMessage=odbc_result($stmt,'ReturnMessage');
        }

        if(isset($ReturnStatus) && $ReturnStatus==1) {
            $ReturnMessage=odbc_result($stmt,'ReturnMessage');
        } 
    }
}

echo json_encode($ReturnMessage);

?>

脚本

代码语言:javascript
运行
复制
<script>
    $.ajax({
      url: "insert_sp.php",
      dataType: "json", 
      success: function(data){ 
        alert(data.test);
      }
    });
</script>

请帮帮我。谢谢您:)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-03-10 07:58:49

检查,您的$ReturnMessage对象是否是UTF-8编码的,因为json_encode只处理UTF-8编码的数据。您可以使用http://php.net/manual/de/function.mb-detect-encoding.php测试编码,并使用http://php.net/manual/de/function.utf8-encode.php更改编码。

@见:http://php.net/manual/en/function.json-encode.php

所有字符串数据必须被UTF-8编码.

json_encode行之前添加这一行:

代码语言:javascript
运行
复制
$ReturnMessage = utf8_encode ( $ReturnMessage );
票数 1
EN

Stack Overflow用户

发布于 2017-03-10 07:56:34

您正在检查POST请求类型:

代码语言:javascript
运行
复制
if(isset($_POST['submit']))

在ajax发送GET请求时,请阅读有关如何使用ajax和jquery实现帖子的更多信息。

代码语言:javascript
运行
复制
<script>
    $.ajax({
      url: "insert_sp.php",
      method: "POST",
      data: {submit: 'true'},
      success: function(response) {
        // while you are expecting a json response
        // so you will need to decode it .
        var data = JSON && JSON.parse(response) || $.parseJSON(response);
        alert(data);
      }
    });
</script>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42712779

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档