作者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/cn.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