我似乎無法讓此對象通過jQuery的ajax到我的PHP文件。通過jQuery ajax發送jQuery構建數組到PHP
$("body").on("submit", ".upload-results-form", function(){
var photosJSON = [];
$(".upload-result-wrapper .upload-results .photos li").each(function(){
var photoID = $(this).attr("rel");
var description = $(".photo-upload-description", this).val();
var source = $("img", this).attr("src");
photosJSON.push({photoID: photoID, description: description, source: source});
});
var jsonData = JSON.stringify(photosJSON);
$.ajax({
type: "POST",
url: "ajax/add/albums/photos_publish.php",
data: "photosJSON="+jsonData,
cache: false,
success: function(html){
alert(html);
}
});
});
我jsonData看起來是這樣的:
[{"photoID":"47","description":"","source":"photos/50611a8725cca_224.jpg"},
{"photoID":"48","description":"","source":"photos/50611a8764881_224.jpg"},
{"photoID":"49","description":"","source":"photos/50611a87aa508_224.jpg"},
{"photoID":"50","description":"","source":"photos/50611a88dd34b_224.jpg"}]
和我的PHP文件:
$photosJSON = json_decode($_POST['photosJSON']);
echo $photosJSON['photoID'];
但是返回任何內容,則不會出現任何正在通過到PHP發送。
哎呀,我剛剛意識到我有一點點的文件目錄,所以不管我有什麼似乎沒有工作 - 因爲它不是!同樣感謝您的幫助 –
實際上,似乎沒有任何內容被髮送到PHP。字符串爲空 –
更新了代碼。通過http傳遞的數據必須進行編碼,如果將數據作爲對象傳遞,jQuery會自動執行該操作,否則必須使用encodeURIComponent來對該字符串進行編碼。 – timidboy