作者james999 (無傷大雅)
看板PHP
標題[請益] Ajax失敗原因...
時間Wed Feb 21 01:47:04 2018
各位版上高手好,
目前使用XAMPP在本機端重現接手的php專案,
於登入頁面輸入正確的帳號密碼後,
追查php的部份發現回傳值都正常。
$.ajax({
url: curl,
type: 'POST',
data: $form.serialize(),
dataType:"json",
success: function(r) {
if(r.ok=='1'){
document.location=r.redirect;
}
else {
(省略)
}
},
error: function(jqXHR) {
alert("發生錯誤: " + jqXHR.status);
}
});
奇怪的是…Ajax得到的都是error…
在本機調用就沒有CORS的問題。
想請問可能的原因為何呢??? 謝謝。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.169.207.174
※ 文章網址: https://webptt.com/m.aspx?n=bbs/PHP/M.1519148826.A.65F.html
※ 編輯: james999 (1.169.207.174), 02/21/2018 01:50:00
1F:→ james999: Server端都是回傳200 02/21 01:57
2F:→ james999: Server端最後的代碼是回傳 echo json_encode($data); 02/21 01:58
3F:→ james999: 假設這個php專案原本可正常運行,不曉得有沒有可能是配 02/21 02:01
4F:→ james999: 置問題呢? 謝謝。 02/21 02:01
5F:→ altecjc: 從 chrome develop tool 的 network 分頁看 response 吐 02/21 05:02
6F:→ altecjc: 什麼錯誤 02/21 05:02
<?
//defined('BASEPATH') OR exit('No direct script access allowed');
//if(!function_exists('getip')){
function getip() {
//if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
// $ip = $_SERVER['HTTP_CLIENT_IP'];
//} elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
// $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
//} else {
// $ip = $_SERVER['REMOTE_ADDR'];
//}
//return $ip;
return "192.168.1.108";
}
//}
?>{"ok":"1","user":"Terjadi Kesalahan","pass":"","redirect":"company"}
https://imgur.com/a/EqPs4
吐這樣的內容,本來<? ?>的內容是沒註解的,
但是我註解了,並把回傳值丟"192.168.1.108",
奇怪的是…index_ajax方法中本來是有呼叫getip函式沒錯,
但已經被我註解掉了才對,因為當我呼叫getip函式時,
php程序會掛掉… 為何要有這個getip函式,
只是為了在登入時記錄是哪個帳號在哪個ip位址所登入的。
(我查看程式碼得到的結果是這樣子,
再請板友幫幫忙,謝謝。
※ 編輯: james999 (1.169.207.174), 02/21/2018 09:40:58
7F:推 evernever: php short tag 有開嗎? 查一下 php.ini 02/21 10:58
8F:→ james999: e大真神,的確是開啟後解決問題:) 02/21 14:51
9F:→ james999: 謝謝您的回饋^^ 02/21 14:55
10F:推 kroutony: 養成良好習慣不要使用short tag 02/25 12:42
11F:→ MOONRAKER: 接老系統你有什麼辦法 用sed幫他全部改? 02/25 13:27
12F:推 dou0228: google 就有方法可以改 short tag 啦 02/27 09:03