Почему мой JQuery ajax POST не работает в моем веб-приложении asp.net? - PullRequest
0 голосов
/ 30 августа 2018

Следующий jQuery прекрасно работает на существующем веб-сайте asp.net. Я преобразовал его в веб-приложение asp.net, и следующий код больше не работает. На клиенте нет ошибки компиляции, и, похоже, она срабатывает просто отлично. Я получаю предупреждение об успешном завершении, но функция Case.aspx / DOFE_update никогда не запускается. Вот странная часть, если я изменю URL-адрес на sumtingwong.aspx / DOFE_update, очевидно, что он потерпит неудачу, потому что URL-адрес не существует, но если я изменю URL-адрес на Case.aspx / sumtingwong, он не потерпит неудачу, даже если думал, что метод на странице не существовать. Ложка не существует. В матрице должен быть сбой.

 $(function () {
      $("[id=textboxDOFE]").change(function () {

            var DOFE = $(this).val();
            var CaseID = $('[id=CaseID]').val();

            $.ajax({
                type: "POST",
                url: "Case.aspx/DOFE_update",
                data: '{"CaseID":' + CaseID + ', "DOFE":"' + DOFE + '"}',
                contentType: "application/json;charset=utf-8",
                dataType: "json",
                async: false,
                error: function (request) {
                    alert(request.responseText);
                },
                success: function (response) {
                        alert("success");
                }           
            });
        });
    });

Код в файле Case.aspx.vb:

<WebMethod()>
<ScriptMethod()>
Public Shared Function DOFE_update(CaseID As Integer, DOFE As String) As Integer

    If IsDate(DOFE) Then
        Dim stringCommand As String = "UPDATE dbo.Cases SET DOFE=@DOFE, lockedDOFE=1 WHERE CaseID=@CaseID;"
        Using con As New Data.SqlClient.SqlConnection(ConfigurationManager.ConnectionStrings("myconnectionstring").ConnectionString)
            Dim cmd As New SqlCommand(stringCommand, con)
            cmd.CommandType = Data.CommandType.Text
            With cmd.Parameters
                .AddWithValue("@CaseID", CaseID)
                .AddWithValue("@DOFE", IIf(DOFE = "", System.DBNull.Value, DOFE))
            End With
            con.Open()
            cmd.ExecuteNonQuery()
        End Using
        Return 1
    Else
        Return 0
    End If
End Function

1 Ответ

0 голосов
/ 30 августа 2018

Я идиот и у меня плохая память. Не берите в голову, я задаю этот вопрос больше года назад, когда я первоначально создал сайт asp.net.

В файле RouteConfig.vb я закомментировал эту строку:

settings.AutoRedirectMode = RedirectMode.Permanent

Не уверен, что выполняет эта строка или нужен ли сайт, но это приводит к тому, что jQuery AJAX не работает.

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