在JQuery中,使用ajaxSend预览$ .post调用构建的URL
时间:2020-03-05 18:56:23 来源:igfitidea点击:
我如何构建我的ajaxSend调用(这似乎是放置它的地方),以预览传递回给代理的内容?另外,我可以在ajaxSend中停止ajax调用吗?..以便在处理来自代理的错误之前可以完善URL字符串?
这是完整的URL,当传递给代理时,它将返回我需要的JSON代码:
http://myServer/cgi-bin/broker?service=myService&program=myProgram§ion=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
谢谢
解决方案
回答
预览正在发送的HTTP请求的一种简单方法是使用Firebug for Firefox。下载并启用该插件,并在发出请求后将其显示在Firebug控制台中。
回答
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); });