Как получить параметры URL из POST asp.net / jQuery.ajax? - PullRequest
1 голос
/ 11 апреля 2009

Я пытаюсь выяснить, как получить параметры, которые передаются в URL, из плагина jQuery, который я использую. По сути, я отправляю ajax-запрос POST в свой веб-сервис и пытаюсь использовать параметры URL, но они всегда возвращаются как ничего Я предполагаю, что это связано с тем, что я нахожусь в ПОСТ.

Может ли кто-нибудь дать мне некоторое представление о том, как этого добиться?

Ответы [ 6 ]

1 голос
/ 11 апреля 2009

Я не уверен, почему вы решили использовать параметры строки запроса при вызове AJAX. Если нет особой причины, вам следует просто опубликовать их в качестве параметров в методе веб-службы.

0 голосов
/ 09 ноября 2016
string parameter = HttpUtility.ParseQueryString(HttpContext.Current.Request.UrlReferrer.Query).Get("param1");
0 голосов
/ 13 января 2011

Если вы используете asp.net WebForms, я рекомендую использовать ScriptManager для генерации прокси javascript для вашего веб-сервиса, а затем использовать этот прокси javascript вместо того, чтобы вручную выполнять вызов ajax. Вот краткое руководство по использованию ScriptManager с веб-сервисами: http://msdn.microsoft.com/en-us/magazine/cc163354.aspx

Примерно так:

// in html you have this
<script src="WebService.asmx/jsdebug" type="text/javascript"></script>

// csharp web-service like this
[WebMethod]
public int Add(int a, int b) { return a + b; } 


// further javascript to call it
function CallAdd()
{
    // method will return immediately
    // processing done asynchronously
    WebService.Add(0,6, OnMethodSucceeded, OnMethodFailed);
}

Это должно устранить необходимость публикации параметров через строку запроса, которая обычно не поддерживается в мыльной среде, поскольку служба ожидает правильно сформированное мыльное сообщение.

0 голосов
/ 13 января 2011

У меня похожая проблема.

Я использую jQuery / json и POSTing обратно в C # / Webservice. Я не знаю, как прочитать созданную мной переменную json.

Вот клиентская часть (на пользовательском элементе управления):

<script type="text/javascript" language="javascript">
    function DoLogin() 
    {
        var un = document.getElementById('UserNameText').value;
        var pw = document.getElementById('PasswordText').value;
        var info = "{ 'UserName':'" + un + "', 'Password':'" + pw + "'}";

        $.ajax(
        {
            type: "POST",
            url: "http://localhost:60876/Sitefinity/Services/Login/Login.asmx/LoginSpecial",
            dataType: 'json',
            data: info,
            contentType: "application/json; charset=utf-8",
            success: function (msg) { alert(msg.d); },
            error: function (msg) { alert(msg.responseText); }
        });
    }
</script>

Вот сторона веб-службы:

    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(false)]
    // To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. 
     [System.Web.Script.Services.ScriptService]
    public class Login : System.Web.Services.WebService
    {
        [ScriptMethod(ResponseFormat = ResponseFormat.Json)]
        [WebMethod]
        public string LoginSpecial()
        {
            // read the json variables: UserName, Password.

            string un = HttpContext.Current.Request["UserName"] != null ? HttpContext.Current.Request["UserName"].ToString() : String.Empty;
            // the previous isn't working for some reason.

            return "Some message here";
        }
    }

Я добираюсь до веб-службы, но мне нужно имя пользователя / пароль от json для проверки.

0 голосов
/ 03 марта 2010

для ASP.NET ....

Вы можете получить POST параметры с Request["paramName"];

Если вы используете запрос GET с параметрами строки запроса, то

Request.QueryString["paramName"];
0 голосов
/ 11 апреля 2009

Привет! Я использую плагин jQuery jqGrid, и по умолчанию он отправляет 5 или 6 параметров в URL. У меня были проблемы с получением этих параметров, и, глядя на некоторые примеры php, он показал, как метод извлекает параметры из переменных формы ... Я просто пытался понять, есть ли способ сделать это. Я посмотрю, что я могу сделать, разместив их в качестве параметров. , , только для хихиканья, есть ли способ, которым я мог бы или мог бы сделать это хотя?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...