【问题标题】:ajax post call returning undefined success messageajax post调用返回未定义的成功消息
【发布时间】:2015-12-18 11:18:01
【问题描述】:

我将一些数据发布到 PHP 文件中,然后我想将其发送到数据库。 看来我的 AJAX 调用运行良好,因为如果执行了 AJAX 调用,我会收到 alert。但是,我的数据似乎没有正确传输。我收到undefined 成功消息。我尝试设置async: true,但没有奏效。代码如下:

$.ajax({
    type: "POST",
    url: "sc_update_user.php",
    data: { 
        role_Id: 'my Id', 
        user_Id: 'user Id'    
    },
    success: function(data){
        alert('my message: ' + data.msg);
    }
});
<?php include_once 'includes/sessions.php';
    include_once 'includes/connect.php';

    $roleId = $_POST['role_Id'];
    $userId = $_POST['user_Id'];

    // code to insert nto db //

    echo json_encode(array('msg'=>'the message'));
?>

PHP 只是一个用于测试的模型,但它应该可以正常工作吧?

感谢您的帮助

【问题讨论】:

  • 您是否检查过控制台中的请求,确切了解返回的数据格式?
  • alert('我的消息:' + 数据);只写这个
  • @ParthTrivedi 为什么要更改请求中发送的字符串值?
  • 做警报(JSON,stringify(data));并告诉我们您从数据中获得了什么。
  • 警报(JSON,stringify(data));导致数据根本不显示。所以也许数据被发回的方式有问题?

标签: php jquery json ajax


【解决方案1】:

将您的代码更新为以下内容。

$.ajax({
    type: "POST",
    url: "sc_update_user.php",
    data: { 
        role_Id: 'my Id', 
        user_Id: 'user Id'    
    },
    success: function(data){
        output = JSON.parse(data);
        console.log(output.msg); //Check console for output
    }
});

解析响应并访问对象。

我希望这会有所帮助。

【讨论】:

  • 谢谢你的工作很奇怪,我之前试过 JSON.parse() 但它没有给我任何东西......
  • 所以我在测试环境中尝试了这个并且它有效。但是当我实现它时,我得到以下控制台日志 SyntaxError: JSON Parse error: Unexpected EOF 有人知道这是怎么一回事吗? @Nikhil 你的回答是正确的,但现在它似乎没有工作,导致这个解析错误在某个地方......
  • 把console.log(data)的输出发给我;
  • 这是因为返回的数据格式不正确或响应中有一些不需要的数据。
  • 是的,我就是这么想的,但我似乎找不到哪里出了问题。 [错误] SyntaxError: JSON Parse error: Unexpected EOF parse (user-accounts.php, line 255) success (user-accounts.php, line 255) j (jquery-2.1.3.min.js, line 2) fireWith ( jquery-2.1.3.min.js,第 2 行)x(jquery-2.1.3.min.js,第 4 行)(匿名函数)(jquery-2.1.3.min.js,第 4 行)这就是控制台s 放弃
【解决方案2】:

你可以使用异步

function getData(){
  var output;
  $.ajax({
   type: "POST",
   url: "sc_update_user.php",
   data: { 
     role_Id: 'my Id', 
     user_Id: 'user Id'    
   },
  async: false,
  success: function(data){
    output = data;
  }
});
return outuput;
}

alert("Data: "+getData());

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-27
    • 2023-03-25
    • 1970-01-01
    • 1970-01-01
    • 2018-02-20
    • 1970-01-01
    • 1970-01-01
    • 2020-07-02
    相关资源
    最近更新 更多