問題描述:
從AngularJPOST對於PHP 腳本,PHP腳本接收已發佈表單的未定義值data.
原因:
AngularJS 將 HTTP Post 請求的 Content-Type 標頭預設為 application/json。但是,問題中的範例程式碼將 Content-Type 標頭設定為 application/x-www-form-urlencoded。因此,AngularJS 發送的資料不是 PHP $_POST 功能的預期格式。
解決方案1:
使用預設的AngularJS Content-Type 標頭application/json 並讀取PHP 中的原始輸入,然後反序列化JSON.
$postdata = file_get_contents("php://input"); $request = json_decode($postdata); $email = $request->email; $pass = $request->password;
解決方案2:
如果依賴 $_POST 功能,則根據資料形成查詢字串並將其作為請求正文發送,確保查詢字串是 URL 編碼的。
data = "email=" + encodeURIComponent($scope.email) + "&password=" + encodeURIComponent($scope.password);
以上是AngularJS 到 PHP POST:為什麼我的變數未定義?的詳細內容。更多資訊請關注PHP中文網其他相關文章!