0

下面的代码工作正常(值被插入到 php 页面中的数据库中),除了我没有在警报中取回变量。相反,警报框开始吐出 HTML 页面代码。

var dataString = 'amID=' + amID  + '&aFname=' + aFname  + '&aLname=' + aLname  + '&aMi=' + aMi  + '&aDegree=' + aDegree  + '&aEml=' + aEml + '&aAdd=' + aAdd + '&aCity=' + aCity + '&aSte=' + aSte + '&aZip=' + aZip + '&aPhn=' + aPhn;

        $.ajax({
          async: false, 
          url: "create_invite_insert.php",
          data: dataString,
          success: function(data) {

            alert(data);


          }
        });
4

4 回答 4

0

警报需要一个字符串,但这里的数据可能有所不同。尝试console.log(data);

于 2013-05-28T13:49:11.613 回答
0

ajax()成功回调传递一个 Object 作为它的第一个参数。这将是您从服务器返回的数据。默认情况下,jQuery 会猜测数据类型。您可以在 jQuery API 站点上阅读更多内容:http: //api.jquery.com/jQuery.ajax/

要提醒对象的内容,请尝试alert(JSON.stringify(data));

于 2013-05-28T13:53:16.590 回答
0

如果您想从服务器返回 Json,请阅读这篇文章。然后,在ajax成功:

success: function(data) {
  // first
  alert(data.paramName);

  // second
  var strData = JSON.stringify(data);
  alert(strData);
}

在第一个选项中,您可以看到参数的值及其名称 (paramName)。
在第二个选项中,您可以将返回的 Json 数据中的所有参数视为字符串。

于 2013-05-28T13:50:28.133 回答
0

我认为您将定义为 ajax 请求参数列表的“数据”与作为返回回调函数的参数的“数据”不匹配。

您最好将您的回调参数重命名为:resp_data 或其他任何不会有歧义的东西。

var dataString = 'amID=' + amID  + '&aFname=' + aFname  + '&aLname=' + aLname  + '&aMi=' + aMi  + '&aDegree=' + aDegree  + '&aEml=' + aEml + '&aAdd=' + aAdd + '&aCity=' + aCity + '&aSte=' + aSte + '&aZip=' + aZip + '&aPhn=' + aPhn;

    $.ajax({
      async: false, 
      url: "create_invite_insert.php",
      data: dataString, //this will be your dataString value as "data" ajax parameter
      success: function(resp_data) { //this will be the response of your ajax request

        alert(resp_data);


      }
    });
于 2013-05-28T13:52:47.257 回答