2017-07-20 88 views
0

我想從JQuery傳遞JSON數據到PHP,所以我可以覆蓋JSON文件。我遇到的問題是我無法弄清楚如何判斷PHP文件是否正在接收我發送的JSON。我是一個新手..Jquery發佈JSON到PHP

我目前有這個 - 它沒有做的伎倆,我有點卡住了。任何建議都會很棒。我越來越警覺 - 「正確」,但沒有從PHP。

var testjson = [{ 
    "name": 1, 
    "myArray": [{ 
    "0":"1", 
    "2":"3" 
    },{ 
    "1":"2", 
    "3":"4" 
    }], 
    "friends":40 
}]; 

$.ajax({ 
    type: "POST", 
    url: "php/write.php", 
    data: testjson, 
    dataType: "html", 
    contentType : 'application/json; charset=utf-8' 
}).done(function(data, status) { 
    alert('Right'); 
}).fail(function(data, status) { 
    alert("Wrong: " + status); 
}); 
$value = json_decode($_POST); 
print_r($value); 
+0

那麼,當你運行你的代碼時你會得到什麼?你需要告訴我們這個問題。 –

+0

試圖改變這個'dataType:「html」,''dataType:'json',' – vietnguyen09

+1

@ vietnguyen09 - 這個設置是爲了ajax請求的迴應。它對發送的內容沒有影響。在這種情況下,將它更改爲'json'很可能只會讓jQuery拋出一個「解析錯誤」,因爲它實際上並不返回一個json字符串。 –

回答

1

使用下面的代碼

var testjson =[{"name":1,"myArray":[{"0":"1","2":"3"}, 
      {"1":"2","3":"4"}],"friends":40}]; 

var myString = JSON.stringify(testjson); 

$.ajax({ 
    type: "POST", 
    url: "write.php", 
    data: myString, 
    dataType: "html" 
    }).done(function (data, status) { 
    alert('Right'); 
}) 
.fail(function (data, status) { 
    alert("Wrong: "+status); 
}); 
}); 

自PHP

$json = json_decode(file_get_contents("php://input")); 
print_r($json); 
+0

剛剛嘗試過,沒有運氣。 – user3675220

0

明白了。

知道這非常簡單。謝謝你的幫助!

$value = $_POST; 
print_r($value);