function regist(nome,pwd){
URL+="register?nick=" + nome + "&key=" + pwd;
var req = new XMLHttpRequest();
req.open("get", URL, true);//Assincrono
req.onreadystatechange = function(){
if (req.readyState != 4) {
return;
}
else if (req.status != 200) {// Tratamento de erro (e.g., mostrar mensagem de erro)
return;
}
var data=JSON.parse(req.responseText);
alert(data);
if(data.error==null || data.error==undefined){
document.getElementById("register").innerHTML="Registo Bem Sucedido";
}
else{
document.getElementById("register").innerHTML="Utilizador já registado - Password errada";
}
};
req.send();
};
我无法访问var数据..也许是因为“* req.onreadystatechange = function(){-----” 有什么意思?我对数据的警报不起作用,它没有被引用..你可以帮助我吗?> URL被正确定义,不用担心;)
我对同源政策问题一无所知...... GET中使用的URL是:dcc.fc.up.pt:8080/TabuWeb/rest/register?nick=ola&key=mundo 我的网页网址:file:///home/carlos/public_html/TabuWeb2/WebContent/index.html?nick = ola& key = mund o
相同的原始政策是否有任何问题?这就是为什么我的req.status = 0而firebug是指向req.send()?
由于
答案 0 :(得分:0)
可能有很多原因导致它无法正常工作,而且很难从ajax调用中说出来。
首先,要查看您应该使用的数据:
alert(JSON.stringify(data));
或直接检查ajax是否返回有效的json:
alert(req.responseText);
数据是一个对象,因此alert(data)
不会显示太多。
此外,您的网址是否与当前网页位于同一个域中?如果没有,您可能会成为same origin policy的受害者。