2011-06-07 70 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'} 
相關問題