jquery ajax发布成功函数变量

时间:2013-05-28 13:48:20

标签: jquery

下面的代码工作正常(值被插入到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 个答案:

答案 0 :(得分:0)

警报需要一个字符串,但数据可能与此不同。试试console.log(data);

答案 1 :(得分:0)

如果您想从服务器返回Json,请阅读此post。然后,在ajax成功:

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

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

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

答案 2 :(得分:0)

我认为您与定义为ajax请求参数列表的“数据”不匹配,其中“data”是返回回调函数的参数。

您最好将回调参数重命名为: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);


      }
    });

答案 3 :(得分:0)

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

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