我正在使用 php 處理 Ajax,我從“Controller”收到回應作為 json 回應,但我無法決議回應(警報為空)這是我的代碼
$.ajax({
type: "post",
url:'<?php echo base_url();?>Main/GetFollowingCoinUsers',
data: {coin_id:coin_id},
success: function (datan) {
var data2 = JSON.parse(datan);
alert(data2)
}
});
這是我在控制器中的代碼
function GetFollowingCoinUsers()
{
$CoinId=$_POST['coin_id'];
$result = $this->M_main->GetAllCoinFollower($CoinId);
$UserId=array();
foreach($result as $res)
{
$UserId[]=$res['UserId'];
}
echo json_encode($UserId);
}
我錯在哪里?
uj5u.com熱心網友回復:
通常,可能有很多可能的原因。
一般來說,其中一些原因可能是:
- ajax URL 未正確提及。
- 服務器給出錯誤,因此無法將回應決議為 JSON 物件。(使用
Developer Tool > console或/和Developer Tool > network更深入地檢查問題。 - 由于跨域請求標頭(CORS 策略),請求被阻止,而您沒有注意到這一點,因為您沒有檢查開發者工具下的網路部分。
我建議使用 找出問題console.log(datan),并查看它是什么資料型別。
uj5u.com熱心網友回復:
控制器似乎沒問題,只需更新您的 ajax 請求并添加控制器期望的資料型別
$.ajax({
type: "post",
dataType: "json",
url:'<?php echo base_url();?>Main/GetFollowingCoinUsers',
data: {coin_id:coin_id},
success: function (datan) {
var data2 = JSON.parse(datan);
alert(data2)
}
});
uj5u.com熱心網友回復:
在 api 中使用“echo”不是最佳實踐。您可以使用“回傳”而不是回聲。在 foreach 回圈內賦值時,使用 array_push()
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/401537.html
