jquery ajax 返回值问题

以下代码:$.ajax({type:'POST',url:"a.asp",data:"action=archives&a=view&id="+x,dataType:'js... 以下代码:
$.ajax({
type:'POST',
url:"a.asp",
data:"action=archives&a=view&id=" + x,
dataType:'json',
cache:false,
timeout:'10000',
async:true,
success:function(s){
alert();
}
},

});

在ie8、谷歌、360浏览器中都是可以成功返回的,但是在火狐下不行。
经过反复测试 如果去掉data,把url换成 “a.asp?action=archives&a=view&id=" + x 却可执行成功 。
不知什么原因。
展开
 我来答
火狐
2014-06-25 · Firefox,最快最安全的上网体验
火狐
Mozilla Firefox火狐浏览器,是一款开放安全的开源浏览器,全球拥有5亿用户。
向TA提问
展开全部
  您好!很高兴为您答疑。
  据您所述,两种写法的区别只是传参构造的方式不同而已。实际上向服务器发起请求的时候,data里面的传参数据是会被赋值到url后面的。但是不管您采用您所测试的哪种方法传参,都是非标准写法,可能会造成风险。建议您使用标准的传参结构:
data:{ action: "archives", a: "view" },此语法等效于action=archives&a=view。
  如果对我们的回答存在任何疑问,欢迎继续问询。
追问
谢谢啊  下午又测了一下 原来是 在处理页面(a.asp)上,我是使用的

request(“xxx”)取值的,这种写法在除在火狐下去不到值外(除非用get方式提交),

其他的都可以,不知道

是什么原因。望不吝赐教
追答
asp中,post和get方法在使用上至少有两点不同:
1、Get方法通过URL请求来传递用户的输入。Post方法通过另外的形式。
2、Get方式的提交你需要用Request.QueryString来取得变量的值,而Post方式提交时,你必须通过Request.Form来访问提交的内容。
匿名用户
2014-06-25
展开全部
url:"a.asp?action=archives",
data:"&a=view&id=" + x,
追问
这样是可以的 但是就是想搞清楚 是什么原因 而且不想写 问号 “?”
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式