2011-06-07 69 views
2

我正在构建一个phonegap应用程序,该应用程序与我设置的Web服务进行接口连接。有一个我无法解释的奇怪问题。相同的确切代码在Android上正常工作,但在iPhone上失败。这只是jQuery。jquery ajax post of dataType:'JSON'在Android上工作,但在iPhone4上失败

下面是代码:

$.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] 

区别在于JSON(正确)用于源自Android设备的POST和HTML(不正确)用于源自iPhone4的POST。

什么给?有任何想法吗?谢谢!

p.s.这最初是作为一个jQuery $ .post()函数编写的,它有相同的结果。我将其重写为$ .ajax()以提高特异性...

回答

2

您可能需要修改传出的HTTP标头以表明您实际上正在发送JSON。添加标题到你的ajax地图:

headers: {'Content-Type': 'application/json'} 
相关问题