JQuery AJAX POST для ASP.NET WebMatrix действий - PullRequest
1 голос
/ 04 января 2012

Я пытаюсь отправить запрос на вход в систему с помощью jQuery

$.ajax({
   url: '/File/Location',
   type: 'POST',
   data: 'username=email@you.com&password=secret',
   success: function (data){
    console.log(data);
   },
   error: function (xhr, status, error){
    console.warn(error);
   }
 });

Но когда я получаю запрос на стороне сервера (ASP.NET WebMatrix / Razor engine), объект запроса пуст

Request = @Request.Form

if(IsPost){
 //Aunthentication logic
}

Я пробовал несколько комбинаций запроса ajax, но не повезло.У кого-нибудь есть подсказка?

Спасибо

Ответы [ 2 ]

0 голосов
/ 05 января 2012

Никаких изменений не требуется для вашего кода jQuery.

var password = Request["password"];
var username = Request["username"];
if(IsPost){
    //Do your thing
}

Вы также можете ссылаться на отдельные поля формы через их полную форму:

var password = Request.Form["password"];
0 голосов
/ 04 января 2012
public class UserFormInformation{
    public string Username{ get; set; }
    public string Password { get; set; }
}

[HttpPost]
public ActionResult Login(UserFormInformation info)
{
    //...
}



$.ajax({
   url: '/File/Location/Login',
   type: 'POST',
   data: 'username=email@you.com&password=secret',
   success: function (data){
    console.log(data);
   },
   error: function (xhr, status, error){
    console.warn(error);
   }
 });

Я бы сделал это для дальнейшего изучения.Во-первых, убедитесь, что у вас есть HttpPost (которого здесь нет или нет в исходном вопросе. Отсюда вы можете напрямую использовать класс вместо глобальной переменной. У нас нет сигнатуры метода, которым вы являетесьиспользуя.

Кроме того, в Javascript, убедитесь, что вы вызываете хороший метод.

...