我似乎無法得到這個工作...我有一些jQuery的像這樣的在客戶端上:jQuery的崗位空的,而不是JSON來的ASP.NET Web API
$.ajax({
type: "POST",
url: "api/report/reportexists/",
data: JSON.stringify({ "report":reportpath }),
success: function(exists) {
if (exists) {
fileExists = true;
} else {
fileExists = false;
}
}
});
在我的網站。 API控制器我有這樣的方法:
[HttpPost]
public bool ReportExists([FromBody]string report)
{
bool exists = File.Exists(report);
return exists;
}
我只是檢查,看是否有文件放在服務器上,併爲返回一個布爾它是否確實與否。我要發送的報告字符串是UNC路徑,所以reportpath看起來像'\\ some \ path \'。
我可以觸發腳本,並在ReportExists方法中創建一個斷點,但報表變量始終爲空。
我在做什麼錯?
我也看到一種方式來張貼.post和postJSON。也許我應該使用其中之一?如果是這樣,我的格式是什麼?
更新:另一個線索可能 - 如果我刪除[FromBody],那麼我的斷點根本就沒有被打 - '沒有找到與請求相匹配的http資源'。我正在看的示例顯示[FromBody]不需要...?
'$ .ajax'會更適合這種情況,因爲您可能還需要包含'contentType:「application/json」'作爲'$ .ajax'選項 – 2013-02-08 19:12:48
請確保檢查您的ModelState是否有錯誤以防在綁定參數時出現問題。 – 2013-02-08 20:40:46