Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# JSON数据发布到Web API在Fiddler中工作,但;“未找到”;来自jqueryajax的错误_C#_Jquery_Asp.net_Json_Ajax - Fatal编程技术网

C# JSON数据发布到Web API在Fiddler中工作,但;“未找到”;来自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 = {

我的东西和小提琴手配合得很好,我得到了想要的结果。但是,当我通过jQueryAjax在网页上执行此操作时,它会显示“未找到”。从某个时候起,我就一直在挣扎,但无法四处走动

我的控制器方法是这样的

[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
,然后在yout
AJAX
中,更改为
datatype:text
,并按如下方式传递数据:
data:“localDonor=“+JSON.stringify(userInput))
@LakshmanPilaka看看这个@LakshmanPilaka尝试在控制器操作中将类型更改为
string
,然后在yout
AJAX
中,更改为
datatype:text
,并像这样传递数据:
数据:“localDonor=“+JSON.stringify(userInput)
@LakshmanPilaka查看一下,当您运行AJAX代码时,它在Fiddler或浏览器的请求日志(如Chrome的开发人员工具)中显示了什么URL?当您运行AJAX代码时,它在Fiddler或浏览器的请求日志(如Chrome的开发人员工具)中显示了什么URL?