Tôi đã tìm kiếm thông qua các câu hỏi SO hiện có khác nhau liên quan đến vấn đề tương tự, nhưng tôi không thể tìm thấy bất kỳ điều gì liên quan đến vấn đề của mình."405 Phương pháp không được phép" - khi sử dụng ASP.NET jQuery ajax POST
Tôi có đoạn code sau jQuery:
$.ajax({
url: "Index.aspx/DeclineRequest"
, type: 'POST'
, contentType: 'application/json; charset=utf-8'
, dataType: 'json'
, data: JSON.stringify({ RequestId: requestId })
});
Tôi đang sử dụng một kỹ thuật rất giống với POST dữ liệu trên một ứng dụng web ASP.NET, và điều này hoạt động tốt. Tuy nhiên, ứng dụng này đang trả lại lỗi sau:
"NetworkError: 405 Method Not Allowed - http://localhost:57255/ ....."
Tôi không thể tìm thấy bất kỳ điều gì khác biệt về 2 ứng dụng này, vì vậy, tôi nhầm lẫn là tại sao tính năng này không hoạt động.
Sự khác biệt duy nhất giữa 2 ứng dụng này mà tôi có thể nghĩ, là ứng dụng đang hoạt động là .NET 2.0 và phiên bản không hoạt động là .NET 3.5.
Tôi đã thử thêm dòng sau vào web.config
của tôi, nhưng tôi vẫn nhận được cùng 405 lỗi:
<webServices>
<protocols>
<add name="HttpPost"/>
<add name="HttpPostLocalhost"/>
</protocols>
</webServices>
Làm thế nào tôi có thể giải quyết vấn đề này?
CẬP NHẬT (16:40): Tôi đã chuyển ứng dụng này sang IIS và lỗi 405 không còn được trả lại. Tuy nhiên môi trường phát triển của chúng tôi chỉ là localhost. Tại sao chỉ lỗi này trên localhost?
bạn có thể chỉ cho chúng tôi 'phương pháp DeclineRequest' your'e? –
Có phải nó tương tự như http://stackoverflow.com/questions/7430492/twitter-search-api-networkerror-405-method-not-allowed ?? –
@ ŁukaszW.pl 'Phương thức DeclineRequest' đơn giản gọi là' return 'Hello World "tại thời điểm này. Tôi không nghĩ rằng đây là vấn đề khi gõ bất kỳ tên phương thức trả về cùng một lỗi. Tôi đã cố tình bỏ lỡ phương pháp trong một số bài kiểm tra để kiểm tra điều này. – Curt