2013-04-21 3 views
2

У меня есть это:Jquery .getJSON и ASP.NET MVC

$.getJSON("https://scyk.pl/Account/GetSid").done(function (sid) { 
    settings.parameters.sid = sid; 
}); 

И это:

public JsonResult GetSid() 
{ 
    return Json(SomeString); 
} 

.done функция JQuery не выполняется - почему?

+0

И как вы знаете, его не выполняет? – Musa

+0

'settings.parameters.sid' равно null, также если я помещаю' console.log («done») 'там, ничего не происходит – ojek

ответ

4

Используйте переопределение Json, который принимает JsonRequestBehavior вариант и установить, что AllowGet

return Json("string", JsonRequestBehavior.AllowGet); 

Чтобы разрешить почтовые запросы, изменить действие контроллера на это:

[HttpPost] 
public JsonResult GetSid() 
{ 
    return Json(SomeString); 
} 
+0

Хорошо, что работает. Но что, если я хочу, чтобы это был только ПОСТ? – ojek

+0

Тогда вы не должны устанавливать поведение запроса, но, конечно, используйте метод Ajax jQuery вместо getJson. – MartinHN

+0

И если вы хотите ограничить запросы, чтобы разрешить только POST, добавьте [HttpPost] над этим методом. – MartinHN

Смежные вопросы