jQuery - AJAX - 在成功函数中获取请求参数

标签 jquery ajax http-request-parameters

是否可以在成功(回调)函数中获取请求的参数?

例如,

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/

相关文章:

javascript - 无法让 Simplemodal 在模态窗口中显示链接内容

javascript - 在 Ajax 查询中使用预输入时出现 ember-select-2 问题

c# - MVC3 - 文件下载 - 等待状态指示器

jsf - 在 GlassFish 中将 JSF 输入提交值的请求字符编码设置为 UTF-8

java - 编码/混淆 HTTP 参数

javascript - 如何从 .jsx 脚本中调用 ReactJS 元素上的 jQuery 函数?

jquery - MVC 返回 View 到对话框

javascript - Jquery 速度,使用 .html(string) 真的很慢,我怎样才能加快速度?

javascript - 如何使用普通 JavaScript (ES6) 处理 ajax 请求?

sql-server - 如何将图像发送到Web服务 Node js,然后使用此图像参数执行存储过程