【问题标题】:using jQuery post to ASP.Net webapi使用 jQuery 发布到 ASP.Net webapi
【发布时间】:2013-11-06 18:25:37
【问题描述】:

遇到一些麻烦:

我做了这个简单的测试,alert 弹出文字“test return simple”:

jQuery 帖子:

$.post("http://www.localhost/webapi/api/corkboard/test/", jsonData)
            .done(function(data){
                alert(data);
        });

Asp.Net WebAPI:

[HttpPost]
public string test()
{        
    return "test return simple";
}

但是当我通过添加参数来更改 WebAPI 时:

public string test(string JSONData)
    {
        var jData = Json.Decode(JSONData);
        return "test return: " + jData.Filter;            
    }

我收到以下错误消息:

"未找到与请求 URI 'http://www.localhost/webapi/api/corkboard/test/'匹配的 HTTP 资源

卡住并希望有任何想法......谢谢!

【问题讨论】:

  • 您使用什么网络服务器作为后端?具体技术应该定义如何处理 post-methods 和作为 POST 请求传入的数据。它可能不像在 POST 方法处理程序中添加参数那么简单。
  • 我正在使用 .net WebAPI ...我正在尝试遵循一些我发现使用相同架构的现有代码:jquery post 和 .net webapi ...但我被困住了这部分...
  • 我不是 .net webapi 方面的专家,但我找到了一个关于如何配置 GET、POST 和其他 HTTP 处理程序的链接:codeproject.com/Articles/549152/Introduction-to-ASP-NET-Web-API
  • 谢谢斯托尼。以后有机会我会看的... ;-)
  • 我尝试通过将 jsonData 添加为 URL 参数来更改 jQuery 请求中的第一行,它起作用了。但我不想在 URL 中传递数据。我想我需要清楚地了解数据是如何从客户端传递到服务器的。这是我的更改:$.post("localhost/webapi/api/corkboard/test?JSONData=" + jsonData)

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


【解决方案1】:

将您的 WebApi 方法更改为:

public string test([FromBody]string JSONData)
    {
        var jData = Json.Decode(JSONData);
        return "test return: " + jData.Filter;            
    }

和你的 JQuery 到:

$.post('http://www.localhost/webapi/api/corkboard/test/', { '': jsonData })
        .done(function(data){
            alert(data);
    });

【讨论】:

  • 太棒了,这行得通。谢了。但是,伙计,语法真的很古怪,我对它并不熟悉......有关更多详细信息,请参阅 J. Marley 帖子中的 Encosia.com 文章。 - 干杯!
【解决方案2】:

试试下面的代码..

$.post("http://www.localhost/webapi/api/corkboard/test/", { value: jsonData })
            .done(function(data){
                alert(data);
        });

或者,您可以查看以下链接..

http://encosia.com/using-jquery-to-post-frombody-parameters-to-web-api/

【讨论】:

  • 该链接包含有价值且解释清楚的详细信息。谢谢。
  • Chrome 表示该链接还包含恶意软件,所以你知道。
猜你喜欢
  • 1970-01-01
  • 2021-03-24
  • 2018-11-22
  • 1970-01-01
  • 2016-10-02
  • 1970-01-01
  • 2019-01-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多