如何从URL发送数据到Post Request Method?

时间:2014-08-13 17:56:52

标签: asp.net asp.net-mvc asp.net-mvc-4

我正在开发一个MVC4应用程序,并使用Web API为我的Web服务发送Android应用程序的数据,我需要对结果进行一些测试,所以当我使用GET请求方法时,我在浏览器中放入了这个URL

http://localhost:2100/api/Accounts/LogIn?UserName=Fadi&PassWord=123456

这是我的方法

[HttpGet]
    public ConfrmationMessage LogIn(string UserName, string PassWord)
    {
        ConfrmationMessage flag = new ConfrmationMessage();

        if (WebSecurity.Login(UserName, PassWord))
        {
            flag.status = "LogedIn";
            return flag;
        }

        else
        {
            flag.status = "The user name or password provided is incorrect.";
            return flag;
        }

    }

并且每件事都运行良好,但当我使用[HttpPost]并再次使用此网址时

http://localhost:2100/api/Accounts/LogIn?UserName=Fadi&PassWord=123456

它给我这个错误

{"Message":"The requested resource does not support http method 'GET'."}

所以我做了一些搜索,发现post方法使用anther方式从URL link放入数据,但仍然无法理解如何为post方法编写正确的URL所以任何帮助和提前感谢。

1 个答案:

答案 0 :(得分:0)

您通过类似的表单元素提交帖子请求(您可以添加更多属性,但您可以轻松查看这些属性。

<form action="~/api/Accounts/LogIn" method="POST">
    <!--input elements here -->
</form>

或通过ajax调用(需要jquery)

$.ajax({
    url: "~/api/Accounts/LogIn",
    type: "POST",
    data: { UserName: "Fadi", PassWord: "123456" }
    success: function(result) {
        //do something when response is successful (result is the response)
    },
    error: function(jqXHR, textStatus, errorThrown) {
        //will return exception info from server
        //jqXHR is the request in xml format
        //textStatus is the description of the exception (if there is one)
        //errorThrown is the excception object thrown (if there is one)
    }
});