是否可以在成功(回调)函数中获取请求的参数?
例如,
function handleSubmitClick(evt) {
evt.preventDefault();
var setupOptions = {
success: loadSearch,
type: "POST",
dataType: "json",
url: "../search.x",
error: handleError,
timeout: 10000
};
$("#searchForm").ajaxSubmit(setupOptions);
return false;
}
function loadSearch(data, statusText, xhr, $form) {
// here is where I would like to get the HTTP request
// parameters
}
当然,我可以在handleSubmitClick期间将请求参数存储在全局变量中,并在loadSearch中读取该变量。但是,如果用户在第一个请求执行 loadSearch 之前提交另一个请求,则该变量的值将被覆盖(并且我不想阻止用户在第一个请求完成处理之前发出另一个请求)。
我目前让服务器在响应数据中回显请求参数,但我希望请求参数已经可供客户端使用,而服务器不必回显请求参数。谢谢。
最佳答案
这可能就是您正在寻找的内容,尽管它使用与您当前的解决方案不同的 AJAX 函数:
$.post( your_ajax_request_url,
{
success: loadSearch,
type: "POST",
dataType: "json",
url: "../search.x",
error: handleError,
timeout: 10000
}, function( response ){
console.log( $(this).attr('data') );
}, "json" );
$(this).attr('data') 将具有原始请求参数,您可以将其视为对象,因此
$(this).attr('data')->dataType
将是“json”。
关于jQuery - AJAX - 在成功函数中获取请求参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12749630/