0

我正在用 phonegap 和 jquery mobile 编写一个移动应用程序。我正在尝试使用此请求从服务器获取数据,但该请求不起作用:

$.ajax({
        url : "https://localhost:8000/weatherData.json",
        type: "GET",
        dataType : "json",
        success: function(){

          $("#placeHold").text("hi");
          },

        error: function() {
          $("#placeHold").text("error");
          }

          });
 });

所以我相信我已经解决了我所有的语法错误,而且我不认为这是一个跨域问题,因为我在本地主机上并且我已经修复了这个错误。URL 只是 JSON 数据,它位于浏览器中的正确位置。placeHold 有效,我的文档中出现了错误字样。我只是不明白为什么数据不会加载。在 chromes 开发工具中我没有收到错误,它只是说失败变红并显示:

GET 'link'  jquery-1.8.2.min.js:2
send                                         jquery-1.8.2.min.js:2
p.extend.ajax                                jquery-1.8.2.min.js:2
(anonymous function)                         firstpage.html:184
k                                            jquery-1.8.2.min.js:2
l.fireWith                                   jquery-1.8.2.min.js:2
p.extend.ready                               jquery-1.8.2.min.js:2
D                                            jquery-1.8.2.min.js:2
4

3 回答 3

1

也许尝试将参数传递给您的成功或错误函数(如成功:函数(数据))

我用这个读了一个json文件

$.ajax({
    dataType: "json",
    url: "../../js/languages/languages.json",
    async: isAsynchronous,
    success: function(data) {
        languageFile = data;
        }

我用这个读了一个xml

$.ajax({
    dataType: "xml",
    url: "../../config.xml",
    async: false,
    success: function(xml)
    {
        appVersion = $(xml).find("appVersion").text();
    }
});
于 2013-05-31T09:08:25.343 回答
1

你试过这个吗?您应该告诉 PhoneGap 允许跨域请求。

$( document ).bind( "mobileinit", function() {
    // Make your jQuery Mobile framework configuration changes here!

    $.mobile.allowCrossDomainPages = true;
});

请参阅http://jquerymobile.com/demos/1.0/docs/pages/phonegap.html

于 2013-05-31T08:11:07.373 回答
0

你试过用jsonp还是这个:https ://github.com/jaubourg/jquery-jsonp

您也可以查看jQuery JSONP Tips and Tricks

于 2013-05-31T08:05:58.203 回答