【问题标题】:Jquery ajax call not working on androidJquery ajax调用在android上不起作用
【发布时间】:2015-06-01 08:57:10
【问题描述】:

我有一个 jquery ajax 调用,我正在使用 jsonp 进行跨域。 代码是:

$.support.cors = true;
$.allowCrossDomainPages = true;
$.ajax({
    dataType: 'jsonp',
    type: "POST",
    url: "http://my-url.com/getSearchResults.php",
    data: { 
        userId: localUserId, 
        searchLocation: decodeURIComponent(searchLocation), 
        searchCategory: searchCategory 
    }
})
.done(function(items) {
    alert(items);
});

当我在普通浏览器中运行它时,我应该进入警告框 [object object],但是当我在 android 移动浏览器上运行它时,它会返回一个空白警告框。

我的 PHP 包含允许跨域的标头。

ajax 调用(对象)的实际响应是这样的:

[{
    "address": "London Road, Brighton, United Kingdom",
    "details": {
        "id": "1",
        "name": "kav 2",
        "logo": "user_content\/1167327737_images.jpg",
        "favorite": "0",
        "feedback": 0
    }   
}];

我正在努力寻找过去 3 天的解决方案。有人可以帮忙吗?

【问题讨论】:

  • 尝试添加.error 函数?也许它会告诉你更多。

标签: javascript php android jquery ajax


【解决方案1】:

我花了一段时间,但我找到了解决方案。

尽管数据类型为 jsonp 的 Ajax 调用总是使用 $_GET 发送,无论您输入什么类型,但在 Android 浏览器中,如果您输入 POST 类型,它们将作为 $_POST 发送。

一旦我将类型更改为 GET,一切又开始工作了。

【讨论】:

    猜你喜欢
    • 2013-10-08
    • 1970-01-01
    • 2019-10-17
    • 1970-01-01
    • 1970-01-01
    • 2021-10-11
    • 1970-01-01
    • 2015-09-05
    • 1970-01-01
    相关资源
    最近更新 更多