我使用下面的代碼段從形式到一個PHP腳本,將使用一個類做一些計算髮送數據:jQuery將不接受json_encode()數據
$.ajax({
type: "POST",
url: "test2.php",
data: values,
success: function(returnedData) {
$("#result").html(returnedData);
},
error: function(){
alert("failure");
$("#result").html('error while submitting');
}
});
我的PHP腳本創建一個數組,我用JSON編碼,然後回顯
$jsonString = array(
'monthText' => $Month->getMonthText($month),
'gross' => $formatGross,
'net' => $formatNet
);
echo json_encode($jsonString);
到目前爲止這麼好。但我並不十分熱衷於顯示原始的JSON。我想在將文本寫入文檔之前對其進行格式化。我試過$.parseJSON()
和$.getJSON()
但他們都沒有工作。 jQuery文檔說它需要一個字符串,但不是json_encode()
使我的數組字符串?是不是echo
使它成爲一個字符串?爲什麼我在我的jQuery文件中收到錯誤Uncaught SyntaxError: Unexpected token {
?我的理論是它沒有單引號。
我試過在我的PHP腳本中使用header('Content-type: application/json')
,我也試過dataType: json
在我的AJAX POST中,但沒有任何工作。
我在做什麼錯?
你試過看着實際上正在返回什麼,並使用您的瀏覽器的調試工具發送到您的Web服務器? – JAL
@davidkonrad [它看起來不像'true'是有效的第二個參數](http://php.net/manual/en/function.json-encode.php)。 – Blazemonger
此外,請繼續前進,並在您的Ajax函數中設置數據類型,並在PHP中設置內容類型標頭... – JAL