0

所以我不太确定我是否能够以一种有人能够帮助我的方式来解释这一点,但它是这样的:

当我调用函数 getFishing() 时,我希望它获取“用户名”元素并将其放入名为 get_name 的 var 中,然后我希望它将该变量发送到 XML_Fishing.php 文件,然后在 mysql 中使用然后将查询解析为 XML 数据,然后由 fishingUrl() 函数重新读取。现在的问题是它没有将 get_name 变量传递给 XML_Fishing.php 文件。谁能从下面的代码中看出原因?我没有给出整个fishingUrl函数,因为它与变量的传递无关。在从 XML 数据返回数据之后,这只是函数的其余部分。

 function getFishing(){
    var get_name = escape(document.getElementById("username").innerHTML);
    var name = "XML_Fishing.php?username=" + get_name;
    fishingUrl(name, "XML_Fishing.php", function(data) {
              ............
              ............
              ............
              }


function fishingUrl(name, url, callback) {
  var request = window.ActiveXObject ?
      new ActiveXObject('Microsoft.XMLHTTP') :
      new XMLHttpRequest;

  request.onreadystatechange = function() {
    if (request.readyState == 4) {
      request.onreadystatechange = doNothing;
      callback(request, request.status);
    }
  };

  request.open('GET', url, true);
  request.send(null);
}
4

1 回答 1

1

name未传递给 AJAX 请求 - 尝试更改

fishingUrl(name, "XML_Fishing.php", function(data)

fishingUrl(name, name , function(data)

这将使第一个参数变得多余 - 除非它在回调函数中使用。

这将$_GET['username']在 PHP 脚本中设置为get_name来自 Javascript的值

于 2012-11-16T02:05:59.367 回答