1
  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 data にアクセスできません..おそらく「*req.onreadystatechange = function(){-----」が原因です。データへのアラートが機能していません。読み取られませんでした。助けてもらえますか?> URL は正しく定義されています。心配しないでください ;)


同一生成元ポリシーの問題については何も知りません... GET で使用される URL は次のとおりです: dcc.fc.up.pt:8080/TabuWeb/rest/register?nick=ola&key=mundo マイページの URL: file:// /home/carlos/public_html/TabuWeb2/WebContent/index.html?nick=ola&key=mund‌ o

同じオリジンポリシーに問題はありますか??それが私の req.status=0 と firebug が req.send() を指している理由です

ありがとう

4

1 に答える 1

0

機能しない理由はいくつか考えられますが、ajax 呼び出しだけでは判断が困難です。

まず、使用する必要があるデータを確認するには:

alert(JSON.stringify(data));

または直接、ajax が有効な json を返すかどうかを確認するには:

alert(req.responseText);

データはオブジェクトなので、alert(data)あまり表示されません。

また、あなたの URL は現在のページと同じドメインにありますか? そうでない場合は、同じオリジン ポリシーの犠牲者になる可能性があります。

于 2012-11-20T02:15:30.353 に答える