そのため、PhoneGap / Cordova(Windows Phone)とWCF Rest Servicesを使用し始めましたが、エミュレーターをWCFサービスと対話させるのに問題があります。
最初は、エミュレータがローカルホストのWCFサービスに接続できないのではないかと考えていたので、外部ホストでWCFサービスを公開しましたが、それでも問題は発生しました...つまり、WCFサービスを呼び出すことができません。
私が持っているコードを以下に示します。
PhoneGapアプリケーションのjavascriptファイルは次のとおりです。
function getAjax() {
var jqxhr = $.ajax({
url: 'http://link.to.service.com/service1/',
//headers:
beforeSend: function (xhr) {
//xhr.overrideMimeType('text/plain; charset=x-user-defined');
},
dataType: 'json'
})
.done(function (data) {
var element = document.getElementById('ajaxCall');
element.innerHTML = JSON.stringify(data, null, "\t");
})
.fail(function (xhr, status, error) {
showError(error);
})
.always(function () { showAlert("complete"); });
}
次に、WCFサービスには次のメソッドが含まれます。
[WebGet(UriTemplate = "")]
public List<SampleItem> GetCollection()
{
return new List<SampleItem>()
{
new SampleItem()
{
Id = 1,
StringValue = "Hello" }
};
}
したがって、javascriptメソッド「getAjax」の呼び出しが行われると、WCFサービスメソッドを呼び出す必要がありますが、エラーメッセージ「undefined」を表示する代わりに、失敗関数に入り続けます。
ここで見逃しているものはありますか?