从AJAX函数返回xmlhttp.responseText

时间:2015-10-31 04:51:58

标签: javascript jquery ajax

我现在已经绞尽脑汁待了几个小时,并且做了大量的搜索,我似乎无法找到答案。我想知道是否可以将AJAX函数中的xmlhttp.responseText值返回到最初调用AJAX函数的函数。

xmlhttp.onreadystatechange = function () {
              if (xmlhttp.readyState == 4) {
                  if (xmlhttp.status == 200) {
                      //document.getElementById("err").style.color="red";
                      my_response = xmlhttp.responseText;
                      alert(my_response);
                      return my_response;

                  }
              }
          }

我想将my_response变量返回给原始调用者。无论我尝试什么,我都没有成功。我甚至尝试使用window.my_response = xmlhttp.responseText将其分配给全局窗口变量,但它最终未定义。

我见过的每个使用AJAX的例子都会在if(xmlhttp.status == 200)部分内部做一些更新网页。我真的不想这样做。

我可以返回值吗?谢谢你的帮助。

顺便说一句,ajax函数工作正常,因为警报正常工作。

xmlhttp.onreadystatechange = function () {
                          if (xmlhttp.readyState == 4) {
                              //document.getElementById("err").style.color="red";
                              console.log(row);
                              row.child( format(row.data())).show();
                              tr.addClass('shown');
                          }
                      }

格式函数的代码在此之上。

1 个答案:

答案 0 :(得分:-1)

我使用这个ajax交换和一个小jQuery链接:

function swapContent(href, url_data, target) {
    $.ajax({
        type: 'GET',
        cache: false,
        url: href+'?' + url_data,  //add a variable to the URL that will carry the value in your i counter through to the PHP page so it know's if this is new or additional data
        success: function (data) { // this param name was confusing, I have changed it to the "normal" name to make it clear that it contains the data returned from the request
            //load more data to "target" value div
            target.innerHTML = (data); // as above, data holds the result of the request, so all the data returned from your results.php file are in this param but please see below
        }
    })
}

您可以将innerHTML更改为其他内容,除非您遇到“存在地狱”错误,否则它应该有效。

它还支持其他功能,因为它是页面的交换器。