這是我從 html 表創建表單資料的 ajax 方法
$('#updateStudentInfoBtn').click(function(e){
// var delcare
let studentUUID = $('[name=studentUUID]').val();
let apiUrl = "/api/students/studentUUID";
var formObj = {
firstname : $('[name="firstname"]').val(),
middlename : $('[name="middlename"]').val(),
lastname : $('[name="lastname"]').val(),
gender : $('[name="gender"] option:selected').val(),
dob : $('[name="dob"]').val(),
admission_date : $('[name="admission_date"]').val(),
admission_stage : $('[name="admission_stage"]').val(),
current_stage : $('[name="current_stage"]').val(),
current_section : $('[name="current_section"]').val(),
name_of_guardian : $('[name="name_of_guardian"]').val(),
relationship_to_student : $('[name="relationship_to_student"]').val(),
occupation : $('[name="occupation"]').val(),
phone_no : $('[name="phone_no"]').val(),
};
var form_data = new FormData();
for ( var key in formObj ) {
form_data.append(key, formObj[key]);
}
$.ajax({
method: "PUT",
url: apiUrl,
data: form_data,
processData : false,
contentType : false,
cache: false,
success: function(res){
response = JSON.stringify(res);
if(response.status == 201) {
// show success alert
}
//location.href="/admin/allstudents";
},
error: function(err){
console.log(err);
}
});
});
這是我的 php 腳本,用于檢索通過 put 方法發送的資料;省略了類部分。
public function update($studentUuid = null)
{
$studentModel = new StudentModel();
$studentData = $studentModel->where('uuid', $studentUuid)->first();
$input = $this->request->getRawInput();
return print_r($input);
}
print_r 的結果給了我這個文本我不知道如何處理資料 ::
Array ( [------WebKitFormBoundaryQFcTXWiBZMLhD6ea Content-Disposition:_form-data;_name] => "firstname" Phinehas ------WebKitFormBoundaryQFcTXWiBZMLhD6ea Content-Disposition: form-data; name="middlename" Toast ------WebKitFormBoundaryQFcTXWiBZMLhD6ea Content-Disposition: form-data; name="lastname" Mord ------WebKitFormBoundaryQFcTXWiBZMLhD6ea Content-Disposition: form-data; name="gender" Female ------WebKitFormBoundaryQFcTXWiBZMLhD6ea Content-Disposition: form-data; name="dob" Saturday November 11, 1989 ------WebKitFormBoundaryQFcTXWiBZMLhD6ea Content-Disposition: form-data; name="admission_date" Thursday May 10, 2001 ------WebKitFormBoundaryQFcTXWiBZMLhD6ea Content-Disposition: form-data; name="admission_stage" class 6 ------WebKitFormBoundaryQFcTXWiBZMLhD6ea Content-Disposition: form-data; name="current_stage" form 3 ------WebKitFormBoundaryQFcTXWiBZMLhD6ea Content-Disposition: form-data; name="current_section" yellow ------WebKitFormBoundaryQFcTXWiBZMLhD6ea Content-Disposition: form-data; name="name_of_guardian" DR S.K Sapaa ------WebKitFormBoundaryQFcTXWiBZMLhD6ea Content-Disposition: form-data; name="relationship_to_student" Father ------WebKitFormBoundaryQFcTXWiBZMLhD6ea Content-Disposition: form-data; name="occupation" Manager ------WebKitFormBoundaryQFcTXWiBZMLhD6ea Content-Disposition: form-data; name="phone_no" xxx-xxx-xxxx ------WebKitFormBoundaryQFcTXWiBZMLhD6ea-- )
uj5u.com熱心網友回復:
獲取 formData() 使用
$this->request->getPost('item');
適用于 json 或 formData 請求正文
$raw=(array)$this->request->getVar()
uj5u.com熱心網友回復:
為了測驗使用郵遞員所以下載它
第二個 if json request set request postman to put
但如果 formData reqeust 設定請求發布,則將此欄位添加到表單資料值
var form_data = new FormData();
//this works for you
form_data.append('_method', 'PUT');
https://codeigniter.com/user_guide/incoming/methodspoofing.html
for ( var key in formObj ) {
form_data.append(key, formObj[key]);
}
form_data.append('_method', 'PUT');
$.ajax({
method: "POST",
url: apiUrl,
data: form_data,
processData : false,
contentType : false,
cache: false,
success: function(res){
response = JSON.stringify(res);
if(response.status == 201) {
// show success alert
}
//location.href="/admin/allstudents";
},
error: function(err){
console.log(err);
}
});
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/322246.html
