Метод страницы, используемый для $ .ajax ({}) с предупреждениями - PullRequest
0 голосов
/ 27 июля 2011

Я сделал метод страницы в файле .cs моего Default.aspx:

[WebMethod]
public static string ReturnSerialized(object var)
{
    JavaScriptSerializer jsSerializer = new JavaScriptSerializer();

    string serialized = jsSerializer.Serialize(var);

    return serialized;
}

Функция принимает сериализуемый объект и преобразует его в json.

По умолчанию.Страница aspx, внутри <form> Я добавил <asp:ScriptManager ID="scriptManager" EnablePageMethods="true" runat="server" />.Все отлично работает, но в Firebug есть ошибка:

missing formal parameter
[Break On This Error] ReturnSerialized:function(var,succeededCallback, failedCallback, userContext)

Мне просто интересно, как я мог справиться с этой ошибкой.Я работаю в VS2010, и библиотека jquery, которую я использую в Default.aspx, - это 1.6.2.

Кстати, если это похоже на другой пост, пожалуйста, дайте мне знать.Спасибо.

1 Ответ

1 голос
/ 27 июля 2011

Ошибка связана с тем, что зарезервированное ключевое слово java-script var было использовано в качестве параметра функции. Ошибочная строка кода

ReturnSerialized:function(var,succeededCallback, ...

является частью прокси-кода, созданного Microsoft AJAX.

Хорошая новость заключается в том, что из вашей темы видно, что вы используете метод jquery ajax для доступа к методу страницы. В таком случае вам не нужен прокси-код js - так что вы можете отключить его, установив EnablePageMethods="false". Это также приведет к уменьшению размера страницы - это одна из причин, по которой я использую jquery для доступа к методам страницы.

Несмотря на это, я также предлагаю вам изменить имя параметра, чтобы вы / другой разработчик не сталкивались с такими тонкими проблемами в будущем.

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