Javascript Codeigniter中的Ajax没有';无法在远程主机中为特定控制器工作
我的web应用程序向远程服务器中的Codeigniter php代码发出Ajax请求。它在本地主机中工作,但不与远程主机中的特定控制器一起工作。这很奇怪,因为这两个控制器都在localhost中工作。 请求:Javascript Codeigniter中的Ajax没有';无法在远程主机中为特定控制器工作,javascript,ajax,codeigniter,jquery,codeigniter-2,Javascript,Ajax,Codeigniter,Jquery,Codeigniter 2,我的web应用程序向远程服务器中的Codeigniter php代码发出Ajax请求。它在本地主机中工作,但不与远程主机中的特定控制器一起工作。这很奇怪,因为这两个控制器都在localhost中工作。 请求: $.ajax({ async:true, type: "POST", dataType: "json", url:"/CI/site/index.php/contact/submitContact", data: "", //data examp
$.ajax({
async:true,
type: "POST",
dataType: "json",
url:"/CI/site/index.php/contact/submitContact",
data: "", //data example
success:arrived,
error:problems });
function arrived(data){
var dataJson = eval(data);
}
function problems(){
$("#result").text('Problems.');
}
我用log\u消息检查到达时间。下一个功能可以正常工作:
function submitContact(){
log_message('error', 'submitContact. ');
//If data are received
if($_POST){
log_message('error', 'data. [application/controllers/contact.php]');
}
}
但是,如果我将请求更改为url:“/CI/site/index.php/control/controlHome”
,则不会出现任何日志消息,输出为下一条:
POSThttp://www.page.com/CI/site/index.php/control/controlHome 500(内部服务器错误)
下面是函数/application/controllers/control.php
:
function controlHome(){
log_message('error', 'controlHome. [application/controllers/control.php]');
//If data are received
if($_POST){
log_message('error', 'data. [application/controllers/control.php]');
}
}
我还尝试在ajax代码中使用完整的url,但结果是一样的。需要任何设置吗?使用codeigniter 2检查此AJAX csrf保护。这解决了我同样的问题
更新:
我检查了测试服务器上的control.php文件
if($_POST) { /* i only commented gangway library functions */
} else { /* only replace the load->view with an print_r $data; and its work */ }
并对舷梯库的建设进行了评述。并且control/controlHome工作正常,没有任何错误。检查导致错误500的舷梯库。是否将csrf保护设置为真?这就是Ajax出现问题的原因。我已经将csrf保护设置为true,但在测试中,我得到了与csrf相同的错误尝试false。当直接从浏览器打开“/CI/site/index.php/contact/submitContact”时,您会收到相同的500错误?是的。同样的错误。我试着用真假来测试。那就不是Ajax的问题了。不是吗?没错,不是Ajax问题。PHP从我开始认为问题在于主机。现在,没有以前工作过的ajax请求。我将与主机提供商交谈turn$config['csrf\u protection']=FALSE
并在浏览器中打开名为ajax的controller,如果出现内部服务器错误,代码可能有问题,但如果无法获得错误,则ajax调用中的问题将被忽略。或者尝试联系主机提供商。我已经解决了这个问题,问题出在gangway库使用的另一个库代码中。谢谢你抽出时间。