Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 数据类型为&x27;JSON';在Android上工作,但在iPhone4上失败_Jquery_Iphone_Ajax_Json_Cordova - Fatal编程技术网

Jquery 数据类型为&x27;JSON';在Android上工作,但在iPhone4上失败

Jquery 数据类型为&x27;JSON';在Android上工作,但在iPhone4上失败,jquery,iphone,ajax,json,cordova,Jquery,Iphone,Ajax,Json,Cordova,我正在构建一个phonegap应用程序,它与我设置的web服务进行接口。有一个我无法解释的奇怪问题。同样的代码在Android上正常工作,但在iPhone上失败。这只是jQuery 代码如下: $.ajax({ url: app_domain + '/sessions', type: 'POST', dataType: 'json', data: { session: { email: u_email,

我正在构建一个phonegap应用程序,它与我设置的web服务进行接口。有一个我无法解释的奇怪问题。同样的代码在Android上正常工作,但在iPhone上失败。这只是jQuery

代码如下:

$.ajax({
    url: app_domain + '/sessions',
    type: 'POST',
    dataType: 'json',
    data: {
        session: {
            email: u_email,
            password: u_password 
        },
        mobile: '1' },
    async: true,
    cache: false,
    success: function(data){

        // do cool stuff here

    },
    error: function(){

        // complain here                

    }
})
这是我无法理解的部分。当我查看我的服务器日志,试图找出此POST请求的问题时,我看到android的以下内容:

...
Processing by SessionsController#create as JSON
...[SUCCESS]
对于iPhone请求:

...
Processing by SessionsController#create as HTML
...[FAIL]
区别在于,来自Android设备的帖子使用JSON(正确),而来自iPhone4的帖子使用HTML(不正确)

有什么好处?有什么想法吗?谢谢


p、 这最初是作为jquery$.post()函数编写的,结果是相同的。我将其改写为$.ajax(),以增加特殊性…

您可能需要修改传出的HTTP头,以指示您实际上正在发送JSON。向ajax映射添加标题:

headers: {'Content-Type': 'application/json'}