2014-02-05 147 views
1

我一直在試圖做一個ajax調用來從數據庫中檢索一些數據,但我不知道爲什麼會返回一個錯誤。AJAX調用返回數據但失敗

有代碼

$('#afegir_pagament').submit(function() { 
         var import_pagament = $('#import_pagament').val(); 
         var id_reserva = $('#id_reserva_hidden').val(); 
         url = "afegir_pagament.php"; 
         data = {import: import_pagament, id_reserva: id_reserva}; 
         $.ajax({ 
          url: url, 
          dataType: 'application/json', 
          type: 'post', 
          data: data, 
          complete: function(xhr, statusText) { 
           console.log(xhr.responseText); 
          }, 
          success: function(responseText) { 
           $('#pag_import_pagat_propietari').val(responseText.total); 
          }, 
          error: function(req, status, err) { 
           alert('Error'); 
          } 

         }); 
         return false; 
        }); 

的console.log(xhr.responseText)返回{ 「總」: 「230.00」}

錯誤:沒有從文本到應用的轉換/ JSON

有人能幫助我嗎?

+0

檢查您的網絡選項卡在Chrome/Firefox開發工具。檢查HTTP響應和請求的外觀。 – Gohn67

+0

只是'JSON.parse(responseText)'。 – Paulloz

+0

它看起來不錯。 HTML:{「total」:「230」} | JSON總「230」 – gbestard

回答

5

「application/json」不是dataType屬性的有效值。將其更改爲「json」。

here (comment #7)

Thanks for the report, but this is not a jQuery bug. application/json is not a valid value for the dataType property.

+0

謝謝,它現在可行! – gbestard

+0

@gbestard - 太好了。 – acarlon

0

只需更改應用程序/ JSON來的數據類型:「JSON」和正是你想做的 成功函數內部..如果你想在你的文本字段中顯示該值只是試試這個..

$("#pag_import_pagat_propietari").attr("#yourid",responseText.total);