Tôi đang tạo một dịch vụ web WCF sẽ trả về một đối tượng json, nhưng tôi vẫn nhận được lỗi yêu cầu 400 lỗi khi thực hiện cuộc gọi AJAX:400 Yêu cầu không hợp lệ khi cố gắng liên lạc với dịch vụ WCF bằng cách sử dụng XHR
OPTIONS http://localhost:55658/WebServiceWrapper.svc/GetData?_=1318567254842&value=97 HTTP/1.1
Host: localhost:55658
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:7.0.1) Gecko/20100101 Firefox/7.0.1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip, deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
DNT: 1
Connection: keep-alive
Origin: http://localhost:3000
Access-Control-Request-Method: GET
Access-Control-Request-Headers: content-type
HTTP/1.1 400 Bad Request
Server: ASP.NET Development Server/10.0.0.0
Date: Fri, 14 Oct 2011 04:40:55 GMT
X-AspNet-Version: 4.0.30319
Cache-Control: private
Content-Length: 0
Connection: Close
đây là lời gọi AJAX của tôi:
$.ajax({
contentType: 'application/json',
url: 'http://localhost:55658/WebServiceWrapper.svc/GetData',
dataType: 'json',
data: {
value: 97
},
success: function (data) {
alert('success' + data);
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
alert('failure' + errorThrown);
}
});
Dưới đây là định nghĩa dịch vụ WCF của tôi:
public class WebServiceWrapper : IWebServiceWrapper
{
public object GetData(int value)
{
return new
{
ReturnValue = string.Format("You entered: {0}", value)
};
}
}
Và nó interface:
[ServiceContract]
public interface IWebServiceWrapper
{
[OperationContract]
object GetData(int value);
}
Tôi biết tôi đã giải quyết vấn đề này trước đây, nhưng tôi không thể nhớ những gì tôi đã làm trước đây. Bất kỳ sự trợ giúp nào cũng sẽ được đánh giá rất cao vì cái lỗ mà tôi đặt vào tường ngày càng to hơn.
Bạn có chắc chắn số cổng bạn sử dụng trong cuộc gọi ajax (55658) không? Nguồn gốc được báo cáo là 3000. –