所以我不太确定我是否能以一种能够帮助我的方式来解释这一点,但是在这里:
当我调用函数getFishing()时,我希望它获取“username”元素并将其放入名为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);
}
答案 0 :(得分:1)
name
未传递给AJAX请求 - 请尝试更改
fishingUrl(name, "XML_Fishing.php", function(data)
到
fishingUrl(name, name , function(data)
将使第一个参数变为冗余 - 除非它在回调函数中使用。
这会将PHP脚本中的$_GET['username']
设置为Javascript中get_name
的值