jquery - 在哪里可以找到合适的 jQuery ajax 标题设置文档?

标签 jquery ajax header setting

我决定考虑使用 jQuery $.ajax() 调用的 headers 设置选项,而不是使用 beforeSend 方法设置请求 header 。自然地,我来到了这个页面,http://api.jquery.com/jQuery.ajax/ ,但文档很少,我找不到任何方法来设置多个标题以及在该页面或其他任何地方设置多个标题的格式。

@tahir:那为什么这不起作用?

<!DOCTYPE html>
<html>
  <head>
    <title>Multiple DnD Uploader</title>
    <link rel="stylesheet" href="style.css" />
    <script type = "text/javascript" src = "../music/jquery.js"></script>
    <script type="text/javascript">
      $(document).ready(function(){
        $('#drop').change(function(event){
          files = event.target.files;
          $('#drop').css('display', 'none');
          for(var i = 0, len = files.length; i < len; i++) {
            alert(files[i].fileName);
            $.ajax({
              type: "POST",
              url: "uploader.php",
              contentType: "multipart/form-data",
              headers: {
                "X-File-Name" : ""+files[i].fileName,
                "X-File-Size" : ""+files[i].fileSize
              },
              data: 'hi',
              success: function(data){
                $('#info').append('Success: ' + data + '<br />');
              },error: function(data){
                $('#info').append('Error: ' + data + '<br />');
              }
            });
          }
        });
      });
    </script>
  </head>
  <body>
    <div id="drop">
      <h1>Drop files here</h1>
      <p>To add them as attachments</p>
      <input type="file" multiple="true" id="filesUpload" />
    </div>
    <div id="info">
    </div>
  </body>
</html>

两个 X-File-Name 和 X-File-Size 属性未显示在请求 header 中。

解决方案:我觉得真的很愚蠢,事实证明我指向的特定 jquery.js 文件是 1.4.4,所以我升级了,现在它可以工作了!谢谢。

最佳答案

它说:

A map of additional header key/value pairs to send along with the request. This setting is set before the beforeSend function is called; therefore, any values in the headers setting can be overwritten from within the beforeSend function.

所以你所要做的就是传递一个像这样的对象:

{"header1":"value1","header2":"value2"}

等等。以下是在 post 请求中添加 Accept header 的一些代码:

    $.ajax("relative/url/action.do",{
    success: function(){
        alert("success");
    },
    error: function(jqXHR, textStatus, errorThrown){
        alert(textStatus + ": " + jqXHR.responseText );
    },
    headers: {Accept: "application/json"},
    type : "POST"
});

关于jquery - 在哪里可以找到合适的 jQuery ajax 标题设置文档?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6078425/

相关文章:

javascript - 在加载 jQuery 之前阻止链接

php - 在 ajax 成功时显示用户消息

python - 在 Google App Engine 中创建表单自动完成

c - 在头文件中声明全局变量 `extern const int` 但在源文件中仅声明 `int`

jquery - 如何使用 jQuery 获取实际图像宽度和高度?

javascript - 观察 dom 元素的创建?

javascript - 在 php 函数期间生成反馈。 (通过 AJAX?)

jquery - 处理 JSON 中的 500 错误 (jQuery)

c++ - 包括<Windows.h>导致(未知属性“no_init_all”)错误

.net - WPF:如何卡住 ListView 标题行,使其不会滚动到屏幕之外