當我嘗試訪問通過 jQuery AJAX PUT請求發送的表單資料時,我收到以下回應:
陣列([------WebKitFormBoundary4TPPQZu7B7WFrUsv Content-Disposition:_form-data;_name] => "id" 7 ------WebKitFormBoundary4TPPQZu7B7WFrUsv Content-Disposition: form-data; name="naam" Eiusmod 別名 est do ------WebKitFormBoundary4TPPQZu7B7WFrUsv Content-Disposition: form-data; name="email" [email protected] ------WebKitFormBoundary4TPPQZu7B7WFrUsv Content-Disposition: form-data; name="adres" Voluptates adipisici --- ---WebKitFormBoundary4TPPQZu7B7WFrUsv Content-Disposition: form-data; name="telefoonnummer" 0612345678 ------WebKitFormBoundary4TPPQZu7B7WFrUsv Content-Disposition: form-data; name="rol" 4 ------WebKitFormBoundary4TPPQZu7B7WFrUsv-- )
警告: C:\xampp\htdocs\P08\hoornhek\api\gebruiker中未定義的陣列鍵“id” 。第22行的 php
我也無法獲得陣列鍵。這是我的 jQuery AJAX 請求:
$('#bewerkGebruikerForm').on('submit', function(event) {
event.preventDefault();
const formData = new FormData(this);
// Opslaan gegevens gebruiker
$.ajax({
url: 'http://localhost/P08/hoornhek/api/gebruiker.php',
type: 'put',
data: formData,
dataType: 'json',
cache: false,
contentType: false,
processData: false,
success: function(response) {
if(response['success']) {
$('#bewerkGebruikerModal').hide();
window.location.reload();
} else {
showErrors(response.errors);
}
},
error: function(error) {
showErrors(error.errors);
}
});
});
這是我的 PHP (API) 代碼:
$requestMethod = $_SERVER['REQUEST_METHOD'];
switch ($requestMethod) {
case "GET":
getGebruiker();
case "POST":
createGebruiker();
break;
case "PUT":
parse_str(file_get_contents("php://input"), $_PUT);
print_r($_PUT);
echo $_PUT['id'];
updateGebruiker();
break;
case "DELETE":
parse_str(file_get_contents("php://input"), $_DELETE);
deleteGebruiker();
break;
default:
exit();
}
對于我的 GET、POST 和 DELETE 請求,一切正常。我究竟做錯了什么?
uj5u.com熱心網友回復:
您無法通過 $_REQUEST 訪問來自 PUT 請求的資料。你需要類似的東西:
case "PUT":
parse_str(file_get_contents("php://input"), $sent_vars);
echo json_encode(['response'=>$sent_vars['id']]); // use an array and json_encode toavoid messy string concatenation
updateGebruiker();
break;
另請參閱從 PHP 訪問傳入的 PUT 資料
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/491935.html
上一篇:如何知道兩個陣列之間的位置差異
