使用标头中的参数创建一个AJAX HTTPS POST请求

时间:2015-12-03 10:23:58

标签: c# ajax asp.net-mvc

我正在使用asp.net MVC,我想在我的控制器中使用ajax(带有标题中的参数)的https发布请求。到现在为止,我用url中的参数获取了http。如下所示:

$.ajax({
        url: "api/login"
        dataType: "json",
        async: false,
        data: {
          dir: "tokens",
          param1: param1,
          param2: param2
        },
        success: function (data) {
        ...
        }
)};

然后在服务器端我有

public String Get(String dir, String usr, String pswd) 
{
 ...
}

我不知道如何将其转换为带有参数的帖子https ..

4 个答案:

答案 0 :(得分:0)

只需将以下行添加到您的ajax调用参数

即可

输入:“POST”

无论如何输入“mvc post ajax”可以给你相同的答案;)

答案 1 :(得分:0)

设置contentType: application/jsontype : post

答案 2 :(得分:0)

try {
            originalFile = new SmbFile("smb:" + originalPath.replace("\\", "/"), smb.getAuth());

            destinationFile = new SmbFile("smb:" + destinationPath.replace("\\", "/"), smb.getAuth());
            smb.copyFolder(originalFile, destinationFile);

        } catch (MalformedURLException e) {
            e.printStackTrace();
        }

答案 3 :(得分:0)

由于我希望我的参数在标题中,我认为我应该这样做

        $.ajax({
        type: "POST",
        url: "api/login",
        dataType: "json",
        async: false,
        beforeSend: function (xhr) {
            xhr.setRequestHeader("Usr", user);
            xhr.setRequestHeader("Pswd", password);
        },
        ...
        )};

然后在控制器上我

    [System.Web.Mvc.HttpPost]
    public String checkUsrPswd() // Post() per l'username e la password
    {
        IEnumerable<string> headerUsr = Request.Headers.GetValues("Usr");
        String usr = headerUsr.FirstOrDefault();
        IEnumerable<string> headerPswd = Request.Headers.GetValues("Pswd");
        String pswd = headerPswd.FirstOrDefault();
        ...
     }

我在那里读取标题值。

现在的事情是我有两个帖子请求,我把参数放在标题中,但我无法区分它们。