[英]$.ajax JSON data to PHP is not working
我有一個內聯圖像字符串,該字符串要使用$ .ajax發送到PHP。
我無法從PHP中的JavaScript發送數據。 使用$ _POST但是,我能夠獲得服務器(PHP)響應。
請讓我知道這里出了什么問題。
JavaScript片段
var data1 = {
"username": $rootScope.globals.currentUser.username,
"blob": $scope.cropper.croppedImage
};
data = $.param(data);
$.ajax({
url: "http://localhost/MyApp/server/user-data/moveUploadedFile.php",
dataType: 'json',
type: "POST",
data: data1,
processData: false,
success: function( data, textStatus, jQxhr ){
var servRet = data;
if(servRet.error > 0)
{
alert(servRet.errorMsg);
return;
}
},
error: function( jqXhr, textStatus, errorThrown ){
console.log( errorThrown );
}
});
PHP片段
<?php
// Return Values for Jason
$errorCode = 0;
$errorMsg = "NONE";
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$errorMsg = $_POST;
}
$retData = array('error' => $errorCode , 'errorMsg' => $errorMsg);
echo json_encode($retData);
?>
當我對其進行測試時,響應返回正常。 唯一的問題(除了拼寫錯誤之外,您在代碼中途將變量名從data
更改為data1
,然后不久后又換回來了)是客戶端代碼僅在錯誤代碼大於零時才警告錯誤消息。
您的服務器端代碼總是發回錯誤代碼為零。
data1
更改為無處不在的data
if(servRet.error > 0)
或讓服務器端代碼發回另一個數字 $_POST['username']
訪問數據。 轉儲$_POST
數組。 json_encode()
將php數據發送回JS時-您也需要添加標頭!!! 代碼示例:
<?php
// Setting escaped data example.
// You can use much more variants, like sprintf() for example.
$id = intval(trim($_POST['id']);
// Returning back the server responce.
header('Content-type: application/json');
echo json_encode($your_array);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.