Не совсем уверен, что здесь произошло.Я использую Visual Studio 2010 .NET 4. С помощью следующего кода я использовал JQuery 1.4.2 - с JQuery 1.4.2 код работал просто великолепно.Я вызываю метод restful WCF RESTFUL.
Я создал простой клиент со следующим кодом:
Type = "POST";
Url = "http://localhost:60922/servicestart/SaveAllClients";
ContentType = "application/json; charset=utf-8";
DataType = "json"; ProcessData = true;
method = "SavePersons";
Data = JSON.stringify(formApplication);
CallService();
function CallService() {
$.ajax({
type: Type, //GET or POST or PUT or DELETE verb
url: Url, // Location of the service
data: Data, //Data sent to server
contentType: ContentType, // content type sent to server
dataType: DataType, //Expected data format from server
processdata: ProcessData, //True or False
success: function(msg) {//On Successfull service call
ServiceSucceeded(msg);
},
error: ServiceFailed// When Service call fails
});
}
Теперь код restful в отдельном проекте:
[WebInvoke(UriTemplate = "SaveAllClients", Method = "POST", ResponseFormat = WebMessageFormat.Json,
RequestFormat = WebMessageFormat.Json)]
[OperationContract]
public string SavePersons(Person peeps)
{
string xml = string.Empty;
XMLToolset x = new XMLToolset();
xml = x.SerializeToXML(peeps);
xml = peeps.SerializeToXML(peeps);
// send xml to Oracle -
string json = string.Empty;
Person p = new Person();
p.first_name = "Good";
p.middle_name = "Happy";
p.last_name = "GH";
json = p.ConvertToJson(p);
return json;
}
Теперь, используя jquery 1.4.2, код работал очень хорошо - в основном это междоменный запрос.Я решил поменять jquery 1.4.2 на jquery 1.6.2 - чтобы оставаться в курсе - и хорошо - сейчас это не работает - он сообщает об ошибке обслуживания O.
Я изучилДокументация ajax и новые функции в jquery 1.5.2, а также некоторые вещи, такие как установка кросс-домена в true или использование jsonp, но ни одна из них не сработала.с точки зрения того, как функционирует AJAX?