2016-02-26 49 views
0

我在我的服務器上使用以下腳本到我的php腳本中;從json字符串中提取數據元素

$.ajax({ 
      type: 'POST', 
      url: 'http://xx.php', 
      data: { anyNumber: val1 }, 
      success: function(data) { 
       alert(data); 
      } 
}); 

php腳本正確的查詢SQLSRV數據庫,並返回數據的行,我與 回聲json_encode($行)進行編碼; 我然後正確地接收JSON字符串數據(上面的例子) 當我與alert(data);顯示數據如上述,得到以下:

"({\"id\":1,\"Username\":null,\"Category\":null,\"VIN\":null,\"Make\":null,\"Model\":null,\"Colour\":null,\"Registration\":\"12345  \",\"RegisterNumber\":null,\"EngineNo\":null,\"Branding\":null,\"Remarks\":null,\"Photo1\":null})" 

我已經嘗試了各種方法,但是不能分配的各種元件,以變量。 請幫助

+0

這是你的問題? http://stackoverflow.com/questions/6324614/php-why-do-you-escape-my-quotes – Ariel

+0

我做了以下更改:1.插入dataType'json'建議。我也改變了PHP腳本來單獨填充循環內的$ rows數組。這導致了alert(data)中每個元素的[object Object],[object Object]等的響應。然而,我現在可以通過將每個元素分配爲一個變量示例來正確和容易地訪問每個元素:var tt = result [5] .result; 我得到正確的值。這適用於我,但不知道這是否是最合適的方法。 RGS – Harties

回答

1

,只要將$.ajax通話dataTypejson

$.ajax({ 
     type: 'POST', 
     url: 'http://xx.php', 
     dataType: 'json', 
     data: { anyNumber: val1 }, 
     success: function(data) { 
      alert(data); 
     } 
}); 

解釋:與GETPOST很多人物都得到屏蔽傳送數據時。我認爲你的$.ajax調用只是不希望JSON作爲答案,但文本或HTML。這就是爲什麼它不能正確讀取JSON字符串並保留字符的掩蓋。