为什么我的ajax不会让json数据请求工作?

时间:2013-05-30 16:17:01

标签: jquery ajax json mobile get

我正在使用phonegap和jquery mobile编写移动应用程序。我正在尝试使用此请求从服务器获取数据:

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

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

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

          });
 });

所以我相信我已经解决了所有语法错误,我不认为这是一个跨域问题,因为我在localhost上,我已经修复了这个错误。 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

3 个答案:

答案 0 :(得分:1)

你试过这个吗?您应该告诉PhoneGap允许Cross Origin Requests。

$( 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

答案 1 :(得分:1)

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

我用这个

读了一个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();
    }
});

答案 2 :(得分:0)

您是否曾尝试使用jsonp或此:https://github.com/jaubourg/jquery-jsonp

您也可以查看jQuery JSONP Tips and Tricks