这让我抓狂!我的代码在我的计算机上运行,在在线服务器上运行,但在另一台服务器上返回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;它工作正常,并按预期回应结果。
由于
答案 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']))
也许这不是最好的解决方案,但它最终有效:)