Hỏi về ajax trong asp

Em xin chào mọi người , mọi người cho em hỏi em đang làm web bằng asp , em có sử dụng kỹ thuật ajax để thực hiện một số thao tác , em để code ajax lẫn cùng view thì không sao , chạy ổn nhưng nhìn hơi rối nên em bê nguyên code ajax bỏ vô một file js rồi nhúng qua view thì chạy lại thì ăn đạn 404 , dưới đây là mô tả code của em :

function Logout() {
        var urlCurrent = window.location.href;
        $.ajax({
            url: '@Url.Action("Logout", "User")',
            type: 'POST',
            data: JSON.stringify({}),
            dataType: 'json',
            contentType: 'application/json; charset=utf-8',
            success: function (data) {
                if (data == "true") {
                    window.location.replace(url);
                }
            },
            error: function () {
            }
        });
    };

cùng code này em để chung với view thì chạy ổn định ( trong thẻ script) ,nhưng tới khi em bỏ code vô file js rồi nhúng qua view thì bị báo lỗi 404

Kết quả:

em nghĩ là do file js em đặt ở trong thư mục content còn controller cần hướng tới thì lại nằm trong thư mục Controllers , vì không đồng cấp nên nó không tìm thấy nên báo 404 , vậy em có cách nào để xử lý chuyện này không ạ ?
Em xin chân thành cảm ơn .

Vì asp nó không xử lý tập tin .js như tập tin .asp.
Vì vậy @Url.Action("Logout", "User") không được chuyển sang url mà bạn muốn.

1 Like

Trong javascript bạn viết url: ‘@Url.Action(“Logout”, “User”)’ làm sao mà chạy được

2 Likes

ra vậy , vậy có cách nào khác không ạ , em không muốn mỗi lần nhấn crtl + U thì lại phải thốt lên : wtf cái quái gì thế này :wink:

Bạn viết thẳng url luôn, chẳng hạn:
.../Logout.aspx"
Trong Logout.aspx nhận dữ liệu POST sẽ thực hiện đăng xuất người dùng.

1 Like

dạ em làm được rồi ạ , em xin chân thành cảm ơn ạ

Nếu bạn muốn đưa link động vào js thì mình nghĩ bạn có thể lưu cái link động đó ngoài asp với 1 properties nào đó rồi qua jquery lấy data từ prop đó bỏ vào url ^^

2 Likes

Dạ em lưu cách bác phát chỉ thì ok r ạ

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?