我的 Web 应用程序向远程服务器中的 Codeigniter-php 代码发出 Ajax 请求。它适用于本地主机,但不适用于远程主机中的特定控制器。这很奇怪,因为两个控制器都在 localhost 中工作。请求:
$.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_message
。使用下一个功能可以正常工作:
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"
,则没有任何日志消息,输出如下:
POST http://www.page.com/CI/site/index.php/control/controlHome 500 (Internal Server Error)
函数/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,但结果是一样的。需要什么设置吗?