tôi vừa nâng cấp bản sao thử nghiệm trang web của mình lên asp.net 4.0 và đã nhận thấy sự cố lạ chỉ phát sinh khi tôi tải trang web lên máy chủ của mình.dịch vụ web asmx trả về xml thay vì json trong .net 4.0
trang web có dịch vụ web asmx trả về json, nhưng khi tôi chạy trang web trên máy chủ của tôi, nó trả về xml. nó đã được làm việc tốt trong asp.net 3.5 trong hơn một năm.
WebMethod được trang trí với các thuộc tính đúng ...
[WebMethod][ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public List<LocationRecentChange> RecentChanges()
và trên máy tính địa phương của tôi nó sẽ trả về json.
chưa có trên máy chủ (Windows 2008 64bit), nó trả về xml.
sử dụng bảng điều khiển firebug, bạn sẽ thấy phản hồi 200 OK và một loạt XML và trên máy cục bộ của tôi dữ liệu được trả lại là JSON tôi mong đợi.
Đây là javascript mà các cuộc gọi dịch vụ ..
function loadRecentData() {
$.ajax({
type: "POST",
url: "service/spots.asmx/RecentChanges",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: loadRecentUpdates,
failure: function(msg) {
//alert(msg);
}
});
}
Bất kỳ lời đề nghị chào đón, điều này đã bị tôi bối rối!
Bật máy chủ có điều gì đó thú vị xảy ra với IIS. Tôi không thể tạo lại vấn đề cục bộ, nhưng chèn mục vào web.config sẽ sửa lỗi đó. – Baldy
Tôi đang gặp chính xác cùng một vấn đề.Bạn có thể chỉnh sửa câu trả lời để bao gồm mã chính xác tôi cần thêm vào web.config của mình (bao gồm phần nào cần được thêm vào) không? Cảm ơn. – njr101