使用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) {
}
});
答案 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.
}