jquery ajax请求firebug错误

我使用php / ajax提交没有页面刷新的表单。 这是我的档案 –

coupon.js

jQuery(document).ready(function(){ jQuery(".appnitro").submit( function(e) { $.ajax({ url : "http://174.132.194.155/~kunal17/devbuzzr/wp-content/themes/street/sms.php", type : "post", dataType: "json", data : $(this).serialize(), success : function( data ) { for(var id in data) { jQuery('#' + id).html( data[id] ); } } }); //return false or e.preventDefault(); }); }); 

sms.php

   $res ); echo json_encode( $arr );//end sms processing unset ($_POST); ?> 

这是我的HTML页面的代码 –

 
...

现在,当我点击提交按钮时,没有任何事情发生,并且firebug在控制台面板下显示

 POST http://174.132.194.155/~kunal17/devbuzzr/wp-content/themes/street/sms.php 404 Not Found 1.29s `jquery.min.js (line 130)` Response Firebug needs to POST to the server to get this information for url: http://174.132.194.155/~kunal17/devbuzzr/wp-content/themes/street/sms.php This second POST can interfere with some sites. If you want to send the POST again, open a new tab in Firefox, use URL 'about:config', set boolean value 'extensions.firebug.allowDoublePost' to true This value is reset every time you restart Firefox This problem will disappear when https://bugzilla.mozilla.org/show_bug.cgi?id=430155 is shipped 

当我将’extensions.firebug.allowDoublePost’设置为true时,会显示以下结果 –

 POST http://174.132.194.155/~kunal17/devbuzzr/wp-content/themes/street/sms.php 404 Not Found 1.29s `jquery.min.js (line 130)` Response - {"mess":"Message successfully delivered"} 

CaN有人帮我修复了404找不到的firebug错误。 为什么它jquery.min.js (line 130)显示jquery.min.js (line 130)

PS-不要担心http://174.132.194.155/~kunal17/devbuzzr/wp-content/themes/street这是我的基本url

您可能想尝试在$ .ajax调用之前放置e.preventDefault()语句。

编辑:

我的x.html对应于您的HTML页面

    x     

我的x.js,对应你的coupon.js

 jQuery(document).ready(function(){ jQuery(".appnitro").submit( function(e) { e.preventDefault(); $.ajax({ url : "/so/x.php", type : "post", dataType: "json", data : $(this).serialize(), success : function( data ) { for(var id in data) { jQuery('#' + id).html( data[id] ); } } }); //return false or //e.preventDefault(); }); }); 

我的x.php,对应你的sms.php

 $res); echo json_encode($arr); unset($_POST); ?> 

这实际上适用于我的环境,虽然我没有其余的HTML标记或其他PHP表单处理代码。 “消息已成功发送”。 在输入字段的正下方显示为绿色。

在Ajax调用内部时,这指的是您需要执行此操作的Ajax对象

 var __this = this; 

在进入Ajax调用之前,它会是

 data : __this.serialize() 

或者在Google的Ajax调用中查找上下文的使用。 或者在进入Ajax调用之前将数据序列化为变量。