【问题标题】:Adding Ajax jQuery reference in Web API在 Web API 中添加 Ajax jQuery 引用
【发布时间】: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方法
  • 您遇到了什么错误,您可以在fiddlerfirebug 中验证吗?

标签: jquery ajax asp.net-web-api


【解决方案1】:

您是否尝试过将 URL 缩短为相对路径?

你可能会犯规。

http://en.wikipedia.org/wiki/Same-origin_policy

如果您的端口有任何差异,则可以将其视为大多数服务器默认阻止的跨域请求。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-11-12
    • 2018-01-03
    • 1970-01-01
    • 1970-01-01
    • 2023-04-04
    • 2016-03-19
    • 2019-07-06
    相关资源
    最近更新 更多