Access-Control-Allow-Headers不允许使用X-Requested-With

Mar*_*ton 6 javascript php ajax jquery cross-browser

我正在开发一个系统.在该系统中,有一个添加项目到购物车功能.在该功能中,我使用的是Jquery $ .ajax.但在线服务器我遇到了这个错误 -

"XMLHttpRequest无法加载域名/ add_to_cart.php?item_id = 3&hotel_id = 2.请求标题字段X-Requested-With不允许使用Access-Control-Allow-Headers."

可以帮助我如何解决这个错误.

我正在使用这个jquery代码

$(document).on('click', '.ordering_btn', function(){
    var item_id = $(this).data('value');
    var hotel_id = "<?php echo $hotel_id; ?>";

    $.ajax({
      type: 'GET',

      url: 'add_to_cart.php?item_id='+item_id+'&hotel_id='+hotel_id+'',

      contentType: 'text/plain',

      xhrFields: {
        withCredentials: false
      },

      headers: {
        "Access-Control-Allow-Headers": "X-Requested-With",
        "X-Requested-With": "XMLHttpRequest"        
      },

      success: function(data) {
        $('#cart_msg').css('display', 'none');
        $('#cart_item').html(data);
        console.log(data);
      },

      error: function() {
      }
    });
});
Run Code Online (Sandbox Code Playgroud)

AKh*_*l N 16

可以通过添加来修复错误

header('Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept');
Run Code Online (Sandbox Code Playgroud)

在ajax调用导致的服务器....


Que*_*tin 5

删除这个:

  headers: {
    "Access-Control-Allow-Headers": "X-Requested-With",
    "X-Requested-With": "XMLHttpRequest"        
  },
Run Code Online (Sandbox Code Playgroud)

Access-Control-Allow-Headers响应头,而不是请求头。

您向其发出请求的服务器不允许X-Requested-With

  • @MarkPreston — 太好了。这意味着你问的问题已经解决,你有一个新的问题。(即您向其发出请求的服务器配置为发回无效的 CORS 响应)。 (2认同)