C# JSON数据发布到Web API在Fiddler中工作,但;“未找到”;来自jqueryajax的错误
我的东西和小提琴手配合得很好,我得到了想要的结果。但是,当我通过jQueryAjax在网页上执行此操作时,它会显示“未找到”。从某个时候起,我就一直在挣扎,但无法四处走动 我的控制器方法是这样的C# JSON数据发布到Web API在Fiddler中工作,但;“未找到”;来自jqueryajax的错误,c#,jquery,asp.net,json,ajax,C#,Jquery,Asp.net,Json,Ajax,我的东西和小提琴手配合得很好,我得到了想要的结果。但是,当我通过jQueryAjax在网页上执行此操作时,它会显示“未找到”。从某个时候起,我就一直在挣扎,但无法四处走动 我的控制器方法是这样的 [Route("AddDonors/")] [HttpPost] public dynamic addDonors(localDonor localDonor) { return localDonor; } 这就是我在网页上打电话的方式 var userInput = {
[Route("AddDonors/")]
[HttpPost]
public dynamic addDonors(localDonor localDonor)
{
return localDonor;
}
这就是我在网页上打电话的方式
var userInput = { 'FullName': 'Lakshman', 'Mobile': '9924210053' };
$.ajax({
type: "POST",
url: "/AddDonors",
data: userInput,
error: function (result) {
alert(result);
},
datatype: "json"
});
这是模型课
public class localDonor
{
public String FullName { get; set; }
public String Mobile { get; set; }
}
API注册和其他设置都很好,因为这在fiddler中工作
请帮忙。谢谢。尝试将[WebMethod]属性放入
[Route("AddDonors/")]
[HttpPost]
[WebMethod]
public dynamic addDonors(localDonor localDonor)
{
return localDonor;
}
希望这能奏效 尝试放置[WebMethod]属性
[Route("AddDonors/")]
[HttpPost]
[WebMethod]
public dynamic addDonors(localDonor localDonor)
{
return localDonor;
}
希望这能奏效 为你的帖子数据试试这个
var userInput = JSON.stringify({ 'FullName': 'Lakshman', 'Mobile': '9924210053' }),
为你的帖子数据试试这个
var userInput = JSON.stringify({ 'FullName': 'Lakshman', 'Mobile': '9924210053' }),
我也犯了同样的错误
当您使用ASP.NET时,请尝试使用
@Url.Action
帮助程序进行所有AJAX调用。我不知道为什么,但在ASP.NET中的某些情况下,将Url作为字符串传递是不起作用的。
并尝试像下面的代码那样传递数据
您修改的代码应该如下所示:
$.ajax({
type: "POST",
url: "@Url.Action("AddDonors", "ControllerName")",
data: { localDonor: userInput },
error: function (result) {
alert(result);
},
datatype: "json"
});
我也犯了同样的错误
当您使用ASP.NET时,请尝试使用
@Url.Action
帮助程序进行所有AJAX调用。我不知道为什么,但在ASP.NET中的某些情况下,将Url作为字符串传递是不起作用的。
并尝试像下面的代码那样传递数据
您修改的代码应该如下所示:
$.ajax({
type: "POST",
url: "@Url.Action("AddDonors", "ControllerName")",
data: { localDonor: userInput },
error: function (result) {
alert(result);
},
datatype: "json"
});
我强烈怀疑AJAX请求中的url是原因(404-未找到),请求无法路由到控制器进行处理 如果不知道完整的控制器是什么样子,并且在这个特定的控制器上有一个
RoutePrefixAttribute
,我就说不出url应该是什么
我建议您在浏览器开发工具中监控网络流量(按F12键),并将失败的POST请求的请求url与Fiddler中成功的请求的url进行比较
如果您的网页是在ASP.NETMVC中创建的,作为同一web项目的一部分,您可能希望在将来生成url服务器端,请参阅。@Url助手仅在.cshtml文件中可用,因此您无法将JavaScript代码转移到单独的.js文件。我强烈怀疑AJAX请求中的Url是导致请求无法路由到控制器进行处理的原因(404-未找到) 如果不知道完整的控制器是什么样子,并且在这个特定的控制器上有一个
RoutePrefixAttribute
,我就说不出url应该是什么
我建议您在浏览器开发工具中监控网络流量(按F12键),并将失败的POST请求的请求url与Fiddler中成功的请求的url进行比较
如果您的网页是在ASP.NETMVC中创建的,作为同一web项目的一部分,您可能希望在将来生成url服务器端,请参阅。@Url helper仅在.cshtml文件中可用,因此您无法将JavaScript代码转移到单独的.js文件。我可以通过将Url更改为
Url:“add捐赠者”来解决问题,
我可以通过将Url更改为Url:“Add捐赠者”
之前我尝试了数据:JSON.stringify(userInput)
它没有帮助之前我尝试了数据:JSON.stringify(userInput)
它没有帮助这没有带来任何财富:(这没有带来任何财富:(@LakshmanPilaka尝试在控制器操作中将类型更改为string
,然后在youtAJAX
中,更改为datatype:text
,并按如下方式传递数据:data:“localDonor=“+JSON.stringify(userInput))
@LakshmanPilaka看看这个@LakshmanPilaka尝试在控制器操作中将类型更改为string
,然后在youtAJAX
中,更改为datatype:text
,并像这样传递数据:数据:“localDonor=“+JSON.stringify(userInput)
@LakshmanPilaka查看一下,当您运行AJAX代码时,它在Fiddler或浏览器的请求日志(如Chrome的开发人员工具)中显示了什么URL?当您运行AJAX代码时,它在Fiddler或浏览器的请求日志(如Chrome的开发人员工具)中显示了什么URL?