【发布时间】:2015-02-18 09:56:38
【问题描述】:
在 Visual Studio 的一个 Web API 项目中,我想用 jQuery 调用 POST 方法
我的模特是
public class Book
{
[BsonId]
public int Id { get; set; }
public string Title { get; set; }
}
我的Post 方法
public void Post(List<Book> books)
{
var client = new MongoClient("mongodb://localhost:27017");
var server = client.GetServer();
var db = server.GetDatabase("BookStore");
foreach (var book in books)
{
var collection = db.GetCollection<Book>("BookCollection");
collection.Save(book);
}
}
我的脚本
<script>
var books = [
{ "Id": 1, "Title": "My Book 1"},
{ "Id": 2, "Title": "My Book 2" },
{ "Id": 3, "Title": "My Book 3" },
{ "Id": 4, "Title": "My Book 4" },
{ "Id": 5, "Title": "My Book 5" },
{ "Id": 6, "Title": "My Book 6" }
]; var postString = JSON.stringify(books);
jQuery.ajax({
type: "POST",
datatype: "json",
contentType: 'application/json',
url: "http://localhost:10746/api/values",
data: postString,
success: function () {
alert(postString);
}
});
</script>
它没有工作。我错过了任何参考吗?
【问题讨论】:
-
你的模型定义为
Id- 你的JS列表定义了ID。此外,无需在发布之前对您的数据进行字符串化 - 它应该可以正常映射。你能定义“没有工作”吗? (控制台中的错误?请求的状态是什么?) -
它应该在 MongoDB 中创建一个数据库。 @tymeJV
-
而且这个ajax调用也没有调用Post方法
-
您遇到了什么错误,您可以在
fiddler或firebug中验证吗?
标签: jquery ajax asp.net-web-api