ResponseFormat が Json にある REST ベースの WCF を作成しました。Web ページから jquery ajax を使用してこの wcf を呼び出します。すべて正常に動作しています。ポート 8014 の別の Web サイトとして IIS 7.5 に wcf サービスを展開しました。ポート 8018 の別の Web サイトとして wcf の jquery ajax 呼び出しを含むページである wcf 呼び出しクライアントを展開しました。今、Rest ベースの wcf にアクセスしようとすると「Service Call Failed:0」というエラーが表示されます。開発には VS2008 Framwork 3.5 を使用しています。
WCFRESTコード:
IService1:
[OperationContract]
[WebInvoke(Method = "GET", ResponseFormat = WebMessageFormat.Json, UriTemplate = "GetProvinceREST/{Country}",
BodyStyle = WebMessageBodyStyle.Bare)]
string[] GetProvinceREST(string Country);
サービス1:
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();" />
私を助けてください。