gpt4 book ai didi

javascript - 创建 jquery 自定义对象

转载 作者:行者123 更新时间:2023-12-02 15:47:05 25 4
gpt4 key购买 nike

在 asp 中我有一个函数:

public async Task<IHttpActionResult> updateComment(int id, Comment comment)
{
//some stuff
}

为了将数据发送到此函数,我创建了一个对象(我正在使用 Knockout.js):

var com =  {
id: self.id,
description: self.description,
postedBy: self.postedById,
time: new Date($.now()),
adId: self.adId,
};

在 ajax 请求中,我发送的数据如下:

$.ajax({
url: '/api/Comment/updateComment',
dataType: "json",
contentType: "application/json",
cache: false,
type: 'POST',
data: { id: com.id, comment: com },
success: function (data) {
alert("done");
},
error: function () {
alert("error");
}
});

但是请求不会转到上面的 asp.net 函数。我在浏览器控制台窗口 404 (Not Found) 中收到错误。错误是因为它没有按预期接收 comment 对象。我改变了ajax请求方法来查看url,url如下。 enter image description here

我定义的com函数有问题吗?为什么它不起作用?

更新:

public async Task<IHttpActionResult> updateComment()
{
//some stuff
}

我按照上面的方法更改了函数,它工作正常。因此可以确认 com 对象存在问题。函数未按预期接收对象。

更新 2:

现在我将函数参数更改为:

public async Task<IHttpActionResult> updateComment(Comment comment)
{
//some stuff
}

并将数据发送为:

data: ko.toJSON(com),

它又工作正常了!

最佳答案

错误代码是405:方法不允许我猜这就像你的ajax是type:“Post”请求,但你的后端正在等待一些 GET 请求。

<小时/>

另一个建议是您可以发送一个字符串化对象:

data : '{ "id":"' + com.id + '", "comment":"' + com + '"}',

关于javascript - 创建 jquery 自定义对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32116422/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com