当前位置: 首页 > 面试题库 >

phonegap jQuery .ajax跨域请求在浏览器中有效,在Android SDK中失败

陈野
2023-03-14
问题内容

我已经花了三天时间了,并且我已经尝试了几乎所有替代代码,并且都无济于事。

这是从沼泽标准jQuery示例中获取的代码:

    $.ajax({
            url: "http://api.wunderground.com/api/4213a68e7f20c998/geolookup/conditions/forecast/q/Australia/Noarlunga.json",
            dataType: "jsonp",
            success: function(parsed_json) {
               alert("YEP!");
               var loc = parsed_json['response'];
               var weather = "Location: " + parsed_json.location.city + "<br />";
               weather += "Wind: " + parsed_json.current_observation.wind_dir + " ";
               weather += parsed_json.current_observation.wind_mph + "-" + parsed_json.current_observation.wind_gust_mph + " knts";
               $("#info").html(weather);
           }    
    });

这是很多人建议的配置(什么都不做)

    $( document ).bind( "mobileinit", function() {
        // Make your jQuery Mobile framework configuration changes here!
        $.mobile.allowCrossDomainPages = true;
        $.mobile.ajaxEnabled = true;
        $.mobile.pushStateEnabled = false;
        $.mobile.allowCrossDomainPages = true;  
    });

另外,我还有:

  • 向AndroidManifest.xml文件添加了

  • 在同一目标上的浏览器中测试了json请求URL(工作正常)

  • 在FireFox / Chrome中测试了页面(工作正常)

  • 尝试通过3G在我的Galaxy s2上运行该应用程序(UI正常运行,但ajax请求仍然失败)

请注意,这不是完整的代码,而只是位于包装在标准.ready()函数中的标准phonegap设备就绪侦听器事件函数中。

这在我的手机上失败了,并且SDK似乎指示了phonegap / Eclipse问题,而不是连接/权限问题。

我正在尝试使用Android SDK部署到Android 2.3 AVD。我还没有尝试部署到Android 4 AVD。

如果有人知道问题出在哪里,我会很乐意的,因为我已经没有足够的建议去尝试了!


问题答案:

$( document ).bind( "mobileinit", function()

$.support.cors = true.

:)



 类似资料:
  • 我可以发送帖子并从邮递员那里获得请求,但当我实际从浏览器发送请求时,它无法获取记录,并在控制台中显示错误“body:{ error:“Collection ' undefined ' not found”}”。 已尝试Get和Post请求,它们都在POSTMAN中提供数据作为响应,但在浏览器中不起作用。显示错误“body:{ error:“Collection ' undefined ' not

  • 问题内容: 我想知道,在IE和Firefox中,您是否可以设置浏览器,以允许跨域调用。 我在chrome中找不到任何选项(实际上,通常根本没有太多选项…) 有关于about:config之类的东西吗? 亲切的问候 -安迪 问题答案: 不好意思 Chrome和Firefox通过W3C CORS规范(跨源资源共享)支持跨域请求,但是远程主机必须启用它。如果远程主机明确支持它,那么您不必对XMLHttp

  • 在我的php文件中,我有以下内容来创建一个带有FPDF库的PDF: 但是请求是响应这个,而不是打开一个保存对话框来保存我的PDF。 %PDF-1.3 3 0 obj<>endobj 4 0 obj<>stream x 3 R@2π35 W(çR qπw 3 t04多30 pispéz*[(hx·ääää+çó)·(j*dé7 w endstream endobj 1 0 obj /xobject<

  • 问题内容: 我正在开发一个使用大量ajax的grails应用程序。如果请求是ajax调用,那么它应该给出响应(这部分正在工作),但是如果我在浏览器中输入URL,它应该带我到主页/索引页面而不是请求的页面。下面是Ajax调用的示例gsp代码。 如果我们在浏览器URL栏中键入http:// localhost:8080 / Dash / todo / list ,则控制器应重定向到http:// lo

  • 我正在使用jQuery的方法向我的Elastic的API发出请求。 在查询中传递参数时,一切都很好: 在正文(json)中传递参数时,问题开始出现: 浏览器(Chrome)不发送请求,而是发送请求。 阅读jQuery的留档我看到: 对于跨域请求,将内容类型设置为Application/x-www-form-urlencoded、multipart/form-data或text/平原以外的任何内容都

  • null 也尝试了配置跳过SSL证书验证,输出相同: TrustStrategy acceptingTrustStrategy=(X509Certificate[]chain,String authType)-> SSLContext SSLContext=org.apache.http.ssl.SSLContexts.custom().LoadTrustMaterial(null,accepti