求助,ajax跨域访问问题 phoneGap

这帐号不用了 发布于 2011/10/09 09:29
阅读 9K+
收藏 0
使用ajax访问数据,但却连不通。使用chrome总是XMLHttpRequest cannot load;firefox 7好了,有个200,却拿不到返回的数据。

$.ajax({
url: "http://www.baidu.com/s",
data: "wd=123",
xhrFields: {
withCredentials: true
},//这句有没有都一样的效果
success: function()
{
alert("success");
}
}); 
想在phoneGap中用js写个应用,但是ajax拿不数据,请问高手是如何处理这个问题的,在phoneGap里获取服务器的数据(json)
加载中
0
MUTEX
MUTEX
phonegap没有跨域访问的限制,你把程序直接装到手机或仿真器中运行就可以。
MUTEX
MUTEX
回复 @PanFrey : something like this: $.ajax({ "type": "POST", "url": url, "timeout": 10000, "async": async, "success": successCallback, "error": errorCallback, });
PanFrey
PanFrey
PhoneGap中使用jQueryMobile,$.post()函数不能跨域POST数据,请问你是如何解决的或者我哪里有问题吗?
MUTEX
MUTEX
@魔力猫 : PhoneGap 被墙了的 FAQ专门提到了这一点。我给你拷贝下来,贴在下面。
魔力猫
魔力猫
说没有限制的请给出整个的例子,我也被这个问题纠缠了很久。就是无法ajax访问。
0
MUTEX
MUTEX
Q. I want to create an application for phonegap to access externally deployed web services via AJAX. How can i resolve the issue with the
cross-domain security policy of XmlHttpRequest?
A. The cross-domain security policy does not affect PhoneGap applications. Since the html files are called by webkit with the file:// protocol, the security policy does not apply.
(in Android,you may grant android.permission.INTERNET to your app by edit the AndroidManifest.xml)
0
魔力猫
魔力猫

我现在倒是基本能跨域了,但是这是建立在用juqery mobile上的。而且在模拟器里面不稳定。单独使用jquery仍然无法跨域。

PanFrey
PanFrey
猫猫,你是如何解决的?我现在正被这个问题困扰着!
0
开源中国首席攻城师
开源中国首席攻城师

我也遇到这个问题了。。。

PanFrey
PanFrey
帅哥,你解决了吗?
0
PanFrey
PanFrey
楼主,你问题解决了吗?
0
魔力猫
魔力猫

引用来自“PanFrey”的答案

楼主,你问题解决了吗?
juqery mobile 解决的。jsonp这东西还是不太习惯。
0
h
huaxinqm

juqery解决不了,用 jsonp也可以

www.huaxinqm.com

0
北方狼
给个解决的例子给我看看如何,现在我还不知道怎么吧
0
北方狼

  $.ajax({
            type : "GET",
            url : "http://localhost:52309/APIMobile/Android.aspx?AjaxType=GetTask&UserID=Adminsys&jsoncallback=?",
            dataType : "jsonp",
            jsonp: 'jsoncallback',
            success : function(Json)
            {
                alert(Json.VoteID);
                alert(Json.VoteName);
                return true;
            }
        });

            }

0
北方狼

引用来自“北方狼”的答案

  $.ajax({
            type : "GET",
            url : "http://localhost:52309/APIMobile/Android.aspx?AjaxType=GetTask&UserID=Adminsys&jsoncallback=?",
            dataType : "jsonp",
            jsonp: 'jsoncallback',
            success : function(Json)
            {
                alert(Json.VoteID);
                alert(Json.VoteName);
                return true;
            }
        });

            }

这样写,在浏览器下运行正常,在安卓模拟器下不行提示:07-13 05:29:28.703: E/Web Console(337): SyntaxError: Parse error at undefined:1

atearsan
atearsan
android设备上不能用localhost 直接用IP或域名
返回顶部
顶部