在Ajax Post上收到错误的请求(404)

时间:2019-06-02 07:59:39

标签: javascript c# asp.net

使用Ajax Post,获取错误请求(404)

我尝试过Google,但是并没有帮助我。 注意:在使用"contentType: 'application/json; charset=utf-8',"来发布请求时,请使用OPTIONS

var data = JSON.stringify(dataArr);
var clientType = $("#clientType").val();
var username = $("#hidUsername").val();
var clientId = $("#clientId").val();
var apiUrl = 'http://localhost.com/WebAPI/client/PostToclient'
$.ajax({
  url: apiUrl,
  type: 'POST',
  //contentType: 'application/json; charset=utf-8',             
  dataType: "json",
  data: JSON.stringify({
    'clientData': data,
    'username': username,
    'Id': clientId,
    'clientType': clientType
  }),
  cache: false,
  success: function(response) {
    alert(response);

  },
  complete: function() {

  },
  error: function(ex) {

  }
});

3 个答案:

答案 0 :(得分:0)

不知道您的API很难说出问题所在。您将需要在服务器端为此提供更多信息;)

看起来很奇怪:用大写字母“ Id”写的id字段,如果您的API遵循某种逻辑,则该字段可能是“ id或clientId”:p

答案 1 :(得分:0)

请确保您的API正常运行,因为您可以使用邮递员应用进行测试。 而且我发现您正在以JSON数据传递JSON内容。即客户数据,我认为它可能无效。

请尝试使用主要json格式声明客户端数据属性,以便解决该问题。

答案 2 :(得分:0)

感谢大家的帮助。

我发现了为什么它不能调用api的问题。现在,我可以使用ajax调用发布数据了。

  [WebInvoke(UriTemplate = "/client/PostToclient", Method = "POST", BodyStyle = WebMessageBodyStyle.Wrapped)]
  [OperationContract]
   public async Task<string> PostToclient(string clientData, string username, string Id, string clientType)
   {
   // Create / update client data.
   }