jQuery Ajax成功函数在特定服务器上返回null

时间:2013-04-01 17:54:18

标签: jquery ajax

这让我抓狂!我的代码在我的计算机上运行,​​在在线服务器上运行,但在另一台服务器上返回null !!

任何想法??

这是jQuery Ajax代码:

<script type="text/javascript">
$(document).ready(function() {
    $('#signup').submit(function() {
        $.ajax({
            url: 'mailchimp.php',
            data: 'ajax=true&email=' + escape($('#email').val()) + '&phone=' + escape($('#phone').val()) + '&uname=' + encodeURIComponent($('#uname').val()) ,
            success: function(msg) {
                $('#form').html(msg);
            }
        });

        return false;
    });
});
</script>

我通过直接url输入测试了mailchimp.php;它工作正常,并按预期回应结果。

由于

3 个答案:

答案 0 :(得分:0)

尝试给出网址的绝对路径并尝试。我可能错了,但值得一试。

答案 1 :(得分:0)

您是否发布跨域名?那么你应该使用JSONP http://en.wikipedia.org/wiki/JSONP

答案 2 :(得分:0)

我仍然不知道确切的问题是什么,但由于encodeURIComponent函数生成的百分比符号的存在,似乎没有执行ajax帖子。

这是我在ajax函数中所做的。我用连字符符号替换了所有%符号。

uname = uname.replace(/\%/g, '-');

在我的PHP代码中,我将所有%符号放回而不是连字符。

urldecode(str_replace('-', '%', $_GET['uname']))

也许这不是最好的解决方案,但它最终有效:)