Я использую .NET 4.5, я использовал этот код из службы WCF для Javascript, это нормально работало. Теперь я не могу понять, как отправлять данные обратно на страницу aspx также с помощью Ajax. Что я делаю неправильно?

Javascript вызывается при нажатии кнопки:

function sendEmeaDataToWcf(object) {
    $.ajax({
        type: "POST",
        url: "EditFeedEmea.aspx/UpdateEmeaData",
        data: JSON.stringify({ postData: "Test" }),
        processData: false,
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        async: true,
        success: function() {
            console.log("Emea Data loaded");
        },
        error: showError
    });
}

Код в коде позади:

[WebMethod]
public void UpdateEmeaData(string postData)
{

}

Он даже не доходит до веб-метода. Я получаю ошибку 500 (jqXhr.status == 500). Получение данных с одной и той же страницы работает хорошо. Я также пытался удалить processData, dataType, async, charset. Еще ничего...

2
Freddy 30 Дек 2013 в 20:26
1
Вы можете проверить ответ своего сервера aspnet на вкладке сети инструментов Chrome dev, это поможет.
 – 
Florian F.
30 Дек 2013 в 20:33
1
Ошибка 500 означает внутреннюю ошибку на стороне сервера. Сначала проверьте ключевое слово static для веб-метода. Как сообщает Флориан, используйте параметры разработчика Chrome или Firebug, чтобы проверить детали ошибки.
 – 
Nagaraj Tantri
30 Дек 2013 в 21:07

1 ответ

Лучший ответ

Ваш веб-метод UpdateEmeaData должен быть статическим, чтобы это работало.

[WebMethod]
public static void UpdateEmeaData(string postData)
{

}
2
Gary.S 30 Дек 2013 в 20:45