.ajax在本地服务器上发布和获取响应,在web主机上没有响应

.ajax在本地服务器上发布和获取响应,在web主机上没有响应,ajax,codeigniter,Ajax,Codeigniter,我使用ajax调用进行一次小计算,然后返回值,并将其显示在提交表单的同一页面中。在Firebug中,它说它调用了函数,但是没有得到响应。(我有一个类似的表单,它可以写入一个运行良好的数据库,似乎是因为它不需要响应——firebug说它也无法在该脚本上获得响应。)奇怪的是,我在本地服务器上编写了这个表单,然后在站点上实现它,一切都按计划进行。我在本地服务器和web服务器上都使用了CodeIgniter,但我不知道这是否与此有关。不管怎样,任何帮助都会很好。我是新来的,所以现在这有点超出我的范围 谢

我使用ajax调用进行一次小计算,然后返回值,并将其显示在提交表单的同一页面中。在Firebug中,它说它调用了函数,但是没有得到响应。(我有一个类似的表单,它可以写入一个运行良好的数据库,似乎是因为它不需要响应——firebug说它也无法在该脚本上获得响应。)奇怪的是,我在本地服务器上编写了这个表单,然后在站点上实现它,一切都按计划进行。我在本地服务器和web服务器上都使用了CodeIgniter,但我不知道这是否与此有关。不管怎样,任何帮助都会很好。我是新来的,所以现在这有点超出我的范围

谢谢

编辑:.js

$(document).ready(function() {

    $('#submit').click(function(){

    var formdata = {
        years: $('#years').val(),
        rate: $('#rate').val(),
        principle: $('#principle').val(),
        periods: $('#periods').val(),
        continuous: $('#continuous').val()
        }

    $.ajax({
        url: "http://localhost:8888/CodeIgniter_1.7.2/index.php/timevalueshow/submit",
        type: 'POST',
        data: formdata,
        success: function(data){
                $('#replace').replaceWith('<p>'+data+'</p>');                       
        }
    });

    return false;
});


 });

这在dev上有效,而不是在服务器上,因为您正在调用localhost

// this will have the client call itself on this particular page (wont work)
url: "http://localhost:8888/CodeIgniter_1.7.2/index.php/timevalueshow/submit",
上述代码应为:

// this is relative to the document ROOT, will work on server but not on dev!
// you can set it relative to the calling page using ../ as needed
url: "/index.php/timevalueshow/submit",

可能是请求是跨域进行的吗?请记住,mydomain.com被视为与www.mydomain.com不同的域

我最近遇到了类似的情况。我从mydomain.com请求了一个页面,该页面向www.mydomain.com上的脚本发出了AJAX请求。未提出请求,因为它被认为是跨域的。它的症状和你描述的一样。在Firebug和Chrome开发者控制台中,我看到一个空响应,没有错误消息


问题是CodeIgniter基于
$config['base\u url']
设置生成绝对url。如果您使用与
$config['base\u url']
中配置的域名不同的域名访问该网站,您可能会遇到此类问题。

我们可以看到一些代码吗?您是否也在尝试从本地到远程使用AJAX,或者从远程到远程使用AJAX?@Robert,代码就在这里。我正在尝试将数据发送到承载我的站点的服务器,然后返回数据。您好,我不小心复制了本地文件,而不是服务器上的文件。对函数的调用通过了,只是没有任何响应。@tshauck我一直在尝试消除节拍,就是让服务器总是回显一些东西,这样你就可以确定如果函数正在运行,它会输出一些东西。如果可以,我还会有一个
错误日志(“函数运行”)只是为了确定。请这样做,并让我们知道,即使函数返回的东西,你仍然没有得到答案。太棒了!嗨,我试过了,没有收到任何错误消息,但是我不确定设置是否正确,所以我在函数中运行了一个mail(),如果它运行,我会向我发送一封电子邮件,它确实运行了。
// this is relative to the document ROOT, will work on server but not on dev!
// you can set it relative to the calling page using ../ as needed
url: "/index.php/timevalueshow/submit",