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事件即将结束的时候 将其拦截住

粗糙的理解,希望共同探讨这个问题

你可能感兴趣的:(JavaScript,jquery,Ajax,Web)