【问题标题】:phonegap android ajax requests work for GET but not POSTphonegap android ajax 请求适用于 GET 但不适用于 POST
【发布时间】:2011-10-14 03:00:30
【问题描述】:

在我的 phonegapp-ed android 应用程序中发送以下请求适用于 GET 但不适用于 POST。 使用 GET,一切正常。使用 POST,请求通过,但 POST 变量 在服务器端没有通过,服务器返回一个 json 响应显示“未提供参数”。

POST 在我们的移动应用中运行良好 - 它只是我们遇到问题的 phonegap 应用。我在这里想念什么???提前感谢您提供的任何帮助!

我已经尝试更改 $.ajax 调用、android 清单以及我能想到的所有设置。

另外,我使用的是 Android 2.2 和 Phonegap 1.0


function goTeam(){ 
    var dataString={lat:currentLocation.lat(),lng:currentLocation.lng()}; // this all works 
    $.ajax({ 
            url: 'http://example.com/request/goTeam', 
            data: dataString, 
            dataType: 'json', 
            success: 
                    function(b) { 
                            if(b.status==1){  // woo hoo! it works 
                            } else { 
                                    // the request went through but something was wrong - this is what i'm getting with POST 
                            } 
                    }, 
            type: 'post',  // works with GET, doesn't work with POST 
            error: function(jqXHR, textStatus, errorThrown){ alert("Noooo."); } 
    }); 

【问题讨论】:

    标签: android ajax post cordova


    【解决方案1】:

    您是否正在尝试跨域请求?只有 GET 请求以这种方式工作。您可以使用JSONP 处理这种请求,但只有 GET 有效。

    【讨论】:

    • 这对我来说没有意义,因为它可以在 iOS 上运行,而 phonegap 会这样说: Q. 我想为 phonegap 创建一个应用程序,以通过 AJAX 访问外部部署的 Web 服务。如何解决 XmlHttpRequest 的跨域安全策略问题? A. 跨域安全策略不影响PhoneGap应用。由于 html 文件由 webkit 使用 file:// 协议调用,因此安全策略不适用。 (在 Android 中,您可以通过编辑 AndroidManifest.xml 将 android.permission.INTERNET 授予您的应用程序)
    • 快速更新:ajax 请求在 iOS 中不起作用。我想我的基本问题是您是否可以在 phonegap 中使用外部 POST ajax 请求... phonegap 文档和这样的网站让我相信我可以:community.phonegap.com/nitobi/topics/… 但我自己的努力让我相信相反!其他人之前一定遇到过这个问题......
    • @Florian 感谢您回答我的问题。我投票给你。
    【解决方案2】:

    Phonegap 确实适用于 GET 和 POST - 跨域安全问题不适用。我们的代码出现了一个特殊的错误,导致它无法正常工作。 Phonegap 非常棒!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-30
      • 1970-01-01
      • 1970-01-01
      • 2020-06-13
      • 1970-01-01
      • 2022-01-21
      相关资源
      最近更新 更多