jQuery Ajax success函数在特定服务器上返回null
这快把我逼疯了!我的代码在我的计算机上工作,在在线服务器上工作,但在另一台服务器上返回null 有什么想法吗 以下是jQuery Ajax代码:jQuery Ajax success函数在特定服务器上返回null,jquery,ajax,Jquery,Ajax,这快把我逼疯了!我的代码在我的计算机上工作,在在线服务器上工作,但在另一台服务器上返回null 有什么想法吗 以下是jQuery Ajax代码: <script type="text/javascript"> $(document).ready(function() { $('#signup').submit(function() { $.ajax({ url: 'mailchimp.php', data: 'a
<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>
$(文档).ready(函数(){
$(“#注册”).submit(函数(){
$.ajax({
url:'mailchimp.php',
数据:'ajax=true&email='+escape($('.'email').val())+'&phone='+escape($('.'phone').val())+'&uname='+encodeURIComponent($('.'uname').val()),
成功:功能(msg){
$('#form').html(msg);
}
});
返回false;
});
});
我通过直接键入url测试了mailchimp.php;它工作良好,与预期结果一致
谢谢尝试提供url的绝对路径,然后再试一次。我可能错了,但值得一试。你是在跨域发布吗?那么您应该使用JSONP。我仍然不知道确切的问题是什么,但由于存在由encodeURIComponent函数生成的百分比符号,似乎没有执行ajax post 下面是我在ajax函数中所做的。我用连字符替换了所有的%符号
uname = uname.replace(/\%/g, '-');
在我的PHP代码中,我将所有%符号放回原处,而不是连字符
urldecode(str_replace('-', '%', $_GET['uname']))
也许这不是最好的解决方案,但它最终会起作用:)在php端进行调试,例如,让它将传入的数据写入本地文件或日志。我认为jQuery与此无关。尽管如此,您应该将请求声明为POST或GET,以确保按照服务器期望的方式发送。请检查浏览器中的请求,观察请求的数据和内容类型以及返回的响应。我只是注意到,当我输入阿拉伯语文本时,不会发出POST!当我输入英语时它就起作用了。我不是在跨域发布。