在jQuery中,使用ajaxSend预览由$ .post调用构建的url

时间:2008-09-16 15:56:01

标签: jquery ajax

我如何构建我的ajaxSend调用,这似乎是放置它的地方,以预览传递给代理的内容?另外,我可以在ajaxSend中停止ajax调用吗?..所以我可以在处理来自代理的错误之前完善我的url字符串?

这是完整的URL,当传递给代理时,将返回我需要的JSON代码:

http://myServer/cgi-bin/broker?service=myService&program=myProgram&section=mySection&start=09/08/08&end=09/26/08

这是我的$ .post调用(不确定它是否正在创建上面的url字符串)

$(function() {
 $("#submit").bind("click",
  function() {
   $.post({
     url: "http://csewebprod/cgi-bin/broker" ,
     datatype: "json",
     data: {
      'service' : myService,
      'program' : myProgram,
      'section' : mySection,
      'start' : '09/08/08',
      'end' : '09/26/08'
      },
     error: function(request){
      $("#updateHTML").removeClass("hide") ;
      $("#updateHTML").html(request.statusText);
      },
     success: function(request) {
      $("#updateHTML").removeClass("hide") ;
      $("#updateHTML").html(request) ;
      }
    }); // End post method
   }); // End bind method
  }); // End eventlistener

由于

2 个答案:

答案 0 :(得分:1)

预览发送的HTTP请求的一种简单方法是使用Firebug进行Firefox。下载并启用该插件,当请求发出时,它将显示在firebug控制台中。

答案 1 :(得分:1)

API/1.2/Ajax包含有关如何绑定到AJAX事件的信息。

// Hook into jQuery's ajaxSend event, which is triggered before every ajax
// request.
$(document).ajaxSend(function(event, request, settings) {
  // settings.data is either a query string like "id=1&x=foo" or null

  // It can be modified like this (assuming AUTH_TOKEN is defined eslewhere)
  settings.data =
    ((settings.data) ? settings.data + "&" : "") +
    "authenticity_token=" + encodeURIComponent(AUTH_TOKEN);
});