无法使用jQuery Ajax发布数据

时间:2018-06-23 23:21:49

标签: javascript jquery json ajax postman

我试图使用Ajax jQuery将数据发布到Json API中。但是我遇到了以下错误。

  

HTTP403:禁止-服务器可以理解请求,但是   拒绝实现它。 (XHR)选项-http://127.0.0.1:7002/player/

但是我能够使用POSTMAN来发布数据。

这是我的代码。

$(document).ready(function(){
  // Post the Data from register form

  $("#submit").click(function(){
    var FName= $("#PlayerFirstName").val();
    var LName= $("#PlayerLastName").val();
    var VEmailID= $("#PlayerEmailID").val();
    /*
    $.post("http://127.0.0.1:7002/player/",
      {first_name:FName,last_name:LName,email:VEmailID},
      function(data, status, jqXHR) {
        $("p").append('status: ' + status + ', data: ' + data);
      });

    */
    $.ajax({
      url:"http://127.0.0.1:7002/player/",
      type: "POST",
      data: {first_name:FName,last_name:LName,email:VEmailID},
      contentType:"application/json; charset=utf-8",
      dataType:"json",
     })
  })

});

1 个答案:

答案 0 :(得分:0)

看起来您是在向不同于要从其进行调用的页面的URL的服务器或端口发出请求,这意味着这是跨站点HTTP请求。 来自Cross-Origin Resource Sharing (CORS)

  

...此外,对于可能导致服务器数据产生副作用的HTTP请求方法(特别是对于GET以外的HTTP方法或某些MIME类型的POST使用),规范要求浏览器“预检”请求,使用HTTP OPTIONS请求方法从服务器请求受支持的方法,然后在服务器“批准”后,使用实际的HTTP请求方法发送实际的请求...

您应该在服务器上允许OPTIONS请求,并使用Access-Control-Allow-Origin,Access-Control-Allow-Header,Access-Control-Allow-Methods标头发送响应。