【问题标题】:Windows phone 7 - no post data for jQuery ajax callsWindows phone 7 - 没有 jQuery ajax 调用的发布数据
【发布时间】:2012-04-16 21:15:04
【问题描述】:

我正在为 Windows Phone 7 开发一个 PhoneGap 应用程序,并在那里进行一些 jQuery AJAX 调用。具体来说,我将登录 POST 数据发送到远程脚本。

当我们的脚本在 POST 数据中接收到这些登录凭据时,响应是 JSON 格式,否则它会返回完整登录页面的 HTML。

我很确定:

  • 我已将域列入白名单
  • 我已使用 $.support.cors = true$.mobile.allowCrossDomainPages = true 允许跨域请求
  • 设置 cache: false 不是问题(已经玩过)
  • 数据 作为 JSON 对象传递也不起作用
  • 使用 contentType 值没有帮助

当我尝试 POST 方法时,没有将发布数据传输到实际脚本

我找到了一个链接到桌面 Internet Explorer 的 old similar problem。但是,就我而言,我根本无法发布数据 - 第一次尝试,第二次或任何其他后续尝试都没有。

$.ajax({
    url: "http://www.mypage.com/",
    type: "post",
    data: "login="+$('#login').val()+"&pw="+$('#pw').val(),
    dataType: "json", 
    cache: false,
    success: function(loginReturn, status, request) {
            // all ok - we never get here on Windows Phone 7
    }
});

【问题讨论】:

  • 是的,错误回调触发并返回“无效字符”解析错误,因为预期的输出是 JSON,但返回的是整个 HTML 页面,因为在服务器端没有找到 POST 数据
  • 尝试将数据作为json对象传递
  • 没有帮助,不过感谢您的提示 ;-)
  • 如果您登录失败返回 html 显然您在 json 解析时遇到错误,返回一个 json 错误对象或更改 dataType
  • 好的,当没有数据发布时,不要被我显示的内容分心 - 问题是 POST 数据根本没有通过 AJAX 请求传输......对此有什么想法吗?

标签: jquery windows-phone-7 post cordova


【解决方案1】:

【讨论】:

  • 我实际上偶然发现了这 2 个,但为了让我的 PhoneGap 升级兼容而不敢更改它......好吧,似乎这是唯一的方法,谢谢!跨度>
  • 仅供参考 - 这不再有效,因为大约 PhoneGap 1.7
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多