JQUERY AJAX С ОСНОВНЫМ РЕАГИРОВАНИЕМ WCF В JSON

77
8

Я создал REST BASED WCF, где ResponseFormat находится в Json. Я называю этот wcf с помощью jquery ajax с веб-страницы. Все работает нормально. Я развернул службу wcf в IIS 7.5 как отдельный веб-сайт в порту 8014. Я развернул wcf-клиент, который является страницей, содержащей jQuery ajax-вызов для wcf в качестве отдельного веб-сайта в порту 8018. Теперь, когда я пытаюсь получить доступ к wcf на основе Rest Я получаю сообщение об ошибке "Ошибка служебного вызова: 0". Я использую VS2008 Framwork 3.5 для разработки.

Код WCFREST:

IService1:

   [OperationContract]
[WebInvoke(Method = "GET", ResponseFormat = WebMessageFormat.Json, UriTemplate = "GetProvinceREST/{Country}",
BodyStyle = WebMessageBodyStyle.Bare)]
string[] GetProvinceREST(string Country);

Service1:

 public string[] GetProvinceREST(string Country)
{
string[] str = new string[3];
str[0]= "hi";
str[1]= "how";
str[2]= "are";
return str;
}

Код звонка JQuery Ajax:

 function CountryProvinceWCFREST() {debugger;
varType = "GET";
varUrl = "http://localhost:8014/Service1.svc/GetProvinceREST/" + $('#ddlCountry').val();
varContentType = "application/json; charset=utf-8";
varDataType = "json";
varProcessData = false;
CallService();
}

function CallService() {
$.ajax({
type: varType, //GET or POST or PUT or DELETE verb
url: varUrl, // Location of the service
data: varData, //Data sent to server
contentType: varContentType, // content type sent to server
dataType: varDataType, //Expected data format from server
processdata: varProcessData, //True or False
success: function(msg) {//On Successfull service call
ServiceSucceeded(msg);
},
error: ServiceFailed// When Service call fails
});
}

var ProvinceDDL = document.getElementById("ddlProvince");
for (j = ProvinceDDL.options.length - 1; j >= 0; j--) { ProvinceDDL.remove(j); }
var resultObject = null;
if (varType == "GET") { resultObject = result; }
for (i = 0; i < resultObject.length; i++) {
var opt = document.createElement("option"); opt.text = resultObject[i];
ProvinceDDL.options.add(opt)
}

<input type="button" value="Invoke" id="Button2" onclick="CountryProvinceWCFREST();" />

Пожалуйста, помогите мне.

спросил(а) 2013-06-25T08:46:00+04:00 7 лет назад
1
Решение
68

Это происходит из-за междоменного вызова, что означает, что служба размещена в другом домене. Возможно, вы захотите использовать JSONP.

Этот ответ может помочь вам в дальнейшем.

ответил(а) 2013-06-25T08:57:00+04:00 7 лет назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема