[英]jQuery ajax response received as Javascript Object instead of JSON
我遇到了這個問題。
在 file.js 中編寫以下代碼。
function fleet_vssl_list(callbackFunc){
func_name = "Get_Vssl_Fleet";
let responseObject = null;
$.ajax({
url: 'get_rank_vssl_fleet.php',
type: 'POST',
data: `func_name=${func_name}`,
success: function(responseObject){
console.log(responseObject);
responseObject = JSON.parse(responseObject);
console.log(responseObject);
vssl_fleet = responseObject.vssl_fleet;
}
});
}
至於我寫的PHP文件如下。
function vssl_list(){
$conn = StartConn();
$qry = ("select vssl_name from vessel");
$qry_exec = mysqli_query($conn, $qry);
if (mysqli_num_rows($qry_exec) > 0){
$results = mysqli_fetch_all($qry_exec, MYSQLI_ASSOC);
foreach ($results as $my_row){
$vssl[] = $my_row["vssl_name"];
}
StopConn($conn);
echo json_encode(
array(
'vssl' => $vssl
)
);
}
else{
$results = "No Vessel Data Found !!!";
StopConn($conn);
echo json_encode(
array(
'vssl' => $results
)
);
}
}
在控制台中,我收到如下圖所示。 上一個如果在 JSON.parse 之前,下一個在 JSON.parse 之后
在同一個 .js 文件中,我編寫了另一個函數,如下所示。
function insert_dept_crew(){
let responseObject = null;
$.ajax({
url: 'insert_update_delete_obd_data.php',
type: 'POST',
dataType: 'JSON',
data: data_string,
success: function(responseObject){
//responseObject = JSON.parse(responseObject);
console.log(responseObject);
},
});
}
至於PHP,我寫如下只是為了測試結果。
function insert_new(){
$func_name = "Insert_Departure_Crew";
$cdc = 12345;
$rank = "MST";
$rank_sd = "MST";
$vssl_id = 1;
$fleet_id = 1;
$dept_dt = "20200225";
echo json_encode(
array(
'func_name' => $func_name,
'cdc' => $cdc,
'rank' => $rank,
'rank_sd' => $rank_sd,
'vssl_id' => $vssl_id,
'fleet_id' => $fleet_id,
'dept_dt' => $dept_dt
)
);
}
我已經阻止了代碼行 JSON.parse,我在控制台中收到如下。 我可以將其視為 Javascript 對象
如果我在 insert_dept_crew 函數中解除對 JSON.Parse 的阻止,就會出錯。 當我檢查我的 PHP 文件時,返回的是可靠的 JSON,如下所示。
{"func_name":"Insert_Departure_Crew","cdc":12345,"rank":"MST","rank_sd":"MST","vssl_id":1,"fleet_id":1,"dept_dt":"20200225"}
請幫我解決這個不一致的問題。
明白了……我想通了。 感謝@freedomn-n 和@RoryMcCrossan,我注意到我在第二個jQuery 中使用了dataType,因為我認為它是用於發送數據的。 但是 jQuery 期望返回什么類型的數據。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.