0

这真让我抓狂!我的代码在我的计算机上运行,​​在在线服务器上运行,但在另一台服务器上返回 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;它工作正常,并与预期的结果相呼应。

谢谢

4

3 回答 3

0

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

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

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

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

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

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

于 2013-04-01T21:17:26.283 回答
0

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

于 2013-04-01T17:58:18.517 回答
0

你是跨域发帖吗?那么你应该使用 JSONP http://en.wikipedia.org/wiki/JSONP

于 2013-04-01T18:00:42.730 回答