【发布时间】:2023-03-07 20:08:01
【问题描述】:
我正在尝试使用 jQuery 的 $.ajax() 方法将以下对象发送到我的 Web API Rest 服务。当我在没有明确设置内容类型的情况下进行调用时,它会自动将其设置为 application/x-www-form-urlencoded,并且响应为 500。我需要它是 application/json。当我将其设置为 contentType: 'application/json' 时,标头中的请求方法突然在开发工具中显示 OPTIONS 并且请求返回 405。有人看到我在这里做错了什么吗?我通常从来没有遇到过这样的请求。
这是我要发送的数据对象。
var TEST_DATA = {
PaitentId: "323f0725-b404-4ab3-b227-e64b090ff62f",
PracticeId: "2387B1BE-6CEC-41C1-B411-687BD6160556",
ReportName: "SOME_REPORT_NAME",
DeviceId: 1,
GlucoseUnits: 1,
HighGlucoseThreshold: 185,
LowGlucoseThreshold: 80,
TodayDate: "\/Date(1382932800000)\/",
StartDate: "\/Date(1357016400000)\/",
EndDate: "\/Date(1411876800000)\/"
}
这是我对 api 的调用
var GenerateReport = function () {
$.ajax({
type: 'POST',
url: SERVICE_URL,
processData: false,
dataType: 'json',
contentType: 'application/json',
data: TEST_DATA,
crossDomain: true,
beforeSend: displaySpinner(),
success: function (data) {
successCallback(data);
},
error: function () {
errorCallback();
}
});
}
编辑:这最终是我可以通过 Web API 解决的问题,答案如下。
【问题讨论】:
标签: javascript jquery web-services