1

我正在使用 PhoneGap 在 Android 中开发本机应用程序。我在 Visual Studio (c#) 中创建了一个 Web 服务,它将返回一个 XML 片段。所以我已将返回的 XML 值转换为 JSON,并在 Mozilla firefox 中对其进行了测试。但是当我尝试使用 AJax 和 Jquery 调用 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;
});

只要您的网络服务不是本地托管的,您就应该可以正常访问它,这是我在 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 回答