jquery post 提交
jquery post 提交 时 正常返回但是报:
?
[08:51:28.731] uncaught exception: [Exception... "prompt aborted by user"? nsresult: "0x80040111 (NS_ERROR_NOT_AVAILABLE)"? location: "JS frame :: resource:///components/nsPrompter.js :: openTabPrompt :: line 462"? data: no]
?
这个错误,用firebug? 查看的时候显示如上错误信息,
?
该问题 主要为 用post提交表单的时候? 和 用type=submit 提交表单的时候 假如你想在 回调函数内部做一些事情的时候 尤其是你想往页面上输出一些 html div的时候,情况是不一样的
?
type=sumbit
?
是一次正常的提交,从发起请求到 response 回到页面上 也就是回到表单处 为一次完整的请求,就是说 请求必须response回到发起提交form的页面上,才算一次完整的请求
?
type=post
?
jquery post 请求的时候 请求的 完整 路径及应答也和上面一样,但是此刻我们想在回调函数内部做一些事情,所以也就不能让response的终点为页面上了(发起form的页面)而是应该在 jquery ajax 请求完成了之后 将其拦截住?
?
代码:
?
$(document).ready(function (){
?? $('#btn').click(function(){
?? var q = document.getElementById("k").value;
?? //var params = {"query":document.getElementById("k").value};
?? var url = 'http://localhost:8080/solrClient/g.action';
??
?? $.post(url,{query:q},function(data){
??? var data = eval(data);
???? for (var i = 0; i < data.length; i++) {
????? $('#qqq').append("dddddd");
??
???? }
?? },"json")
?
???? })
})
?
修改为:
?
$(document).ready(function (){
?? $('#btn').click(function(){
?? var q = document.getElementById("k").value;
?? //var params = {"query":document.getElementById("k").value};
?? var url = 'http://localhost:8080/solrClient/g.action';
??
?? $.post(url,{query:q},function(data){
??? var data = eval(data);
???? for (var i = 0; i < data.length; i++) {
????? $('#qqq').append("dddddd");
??
???? }
?? },"json")
?? return false;
???? })
})
?
当 button 的 click事件即将结束的时候 将其拦截住
粗糙的理解,希望共同探讨这个问题
你的例子不太清楚。。 2 楼 zhao_chong 2011-09-08 补充下:var params = new Object();
params["query"] = q;
$.post(url,params,function(data){
我比较喜欢这样写.. 3 楼 xiangfei209 2011-09-08 讲的犀利糊涂, 表达清楚些行吗