读书人

jquery post 交付

发布时间: 2012-09-09 09:27:54 作者: rapoo

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 讲的犀利糊涂, 表达清楚些行吗

读书人网 >操作系统

热点推荐