【发布时间】:2010-11-24 22:24:30
【问题描述】:
此代码适用于 FF、Chrome、IE6/8,但不适用于 Safari 和 Opera。 任何想法为什么?
代码如下:
var name = $('#esm').val();
var email = $('#nam').val();
var message = $('#med').val();
var ad_id = $('#i_d').val();
var data_string = 'esm='+ name + '&nam=' + email + '&med=' + message + '&i_d=' + ad_id;
$.ajax({
type: "POST",
url: "/my_php_file.php",
data: data_string,
success: function(data) {
$('#tip_loader').hide();
if(data==1){alert('success'); }
else {alert('error'); }
}//end success function
}) //end ajax call
我已经将错误定位到“Ajax”调用,因为当我在$.ajax 之前放置一个警报框时,警报会正确显示。
但是,如果我将警报框放在成功函数中,则什么都没有显示,没有警报。
这只发生在 Opera 和 Safari 中...
编辑:
仅供参考:我将此 javascript 文件包含到一个 php 文件中,我还将 jquery.js 文件包含到 php 文件中。所以这一切都在一个外部文件中。
编辑:
/main.php /bin/jquery.js /bin/tip.js /bin/tip.php
我把上面的js文件包含在main.php中,main.php中的form action设置为/bin/tip.php
而 ajax url 的路径是 /bin/tip.php 而不是 my_php_file.php
【问题讨论】:
-
我不太会使用 Firebug,我应该如何阅读它的内容?另外,firebug 不只是 FF 的,那我怎么知道 Opera 有什么问题呢?
-
“网络”选项卡,您可以在其中找到您的请求和响应。
-
我应该寻找什么,上面写着“200 OK”和一堆其他的东西。一切似乎都很好。反应是我所期望的。
-
@Camran - Opera 内置了一个名为 Dragonfly 的调试工具。进入工具菜单 -> 高级 ->Opera Dragonfly 如果没有文件菜单栏,点击菜单 -> 页面 -> 开发者工具 -> 打开 Opera Dragonfly
-
@Drackir:找到了!现在我猜我应该在“网络”下寻找对吧?但是它是空白的,当我提交时没有任何反应...任何其他提示如何解决?非常感谢
标签: php javascript jquery html ajax