1

PhoneGap を使用して Android でネイティブ アプリケーションを開発しています。そして、XML フラグメントを返す Web サービスを Visual Studio (c#) で作成しました。そのため、返された XML 値を JSON に変換し、Mozilla firefox でテストしました。しかし、JqueryでAJaxを使用してWebサービスを呼び出そうとしたとき。サービスのデータを返す警告メッセージをエンコードしてみました。ただし、データは返されないようです。誰でもこれについて私を助けてもらえますか? ありがとう

ここに私のコードがあります:

$.ajax({
    type: "POST",
    url: "http://10.0.2.2:49878/a.aspx?p_trxn_type=doLogin&p_phoneNumber="+phoneNumber,
    error: function (XMLHttpRequest, textStatus, errorThrown)
    { 
        alert("error");
    },
    dataType : "json",
    cache:false,
    async:false,
    success: function (ret)
    {
        try {
            var jsonObj = eval('(' + ret + ')');
            alert(jsonObj.Contacts.Contact['@phoneNumber']);
            alert(jsonObj.Contacts.Contact.LastName);
            alert(ret.Contacts.Contact['@phoneNumber'])
            alert(ret.Contacts.Contact.LastName);
        }
        catch(ex) {
            alert(ex.message);
        }
        console.log(ret);
        alert(ret.length);
        alert(ret);
        alert(typeof ret);
        alert("success");
    }
});
4

1 に答える 1

0

このコードを追加してみてください:

$(document).bind("mobileinit", function(){
   $.support.cors = true;
   $.mobile.allowCrossDomainPages = true;
});

Web サービスがローカルでホストされていない限り、問題なくアクセスできるはずです。StackOverflow に関する私の質問を参照してください

http://jquerymobile.com/test/docs/api/globalconfig.html、特にhttp://jquerymobile.com/test/docs/pages/phonegap.htmlもチェックしてください。

最後に、エラー関数を次のように定義すると、はるかに役立ちます。

error: function (XMLHttpRequest, textStatus, errorThrown)
{ 
    alert(textStatus + " " + errorThrown);
}
于 2012-04-20T14:43:22.143 に答える