私はC#とWCFで書かれた小さなwebserviceを持っています。クロスドメインjQuery Ajax C#とWFCを使用
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.Web.Script.Services.ScriptService]
public class Service1 : System.Web.Services.WebService
{
[WebMethod]
public string HelloWorld()
{
return "Hello Worlds";
}
}
私は少しjQueryコードを持っています。
$.support.cors = true;
$.ajax({
type: "POST",
url: "http://localhost:61614/Service1.asmx/HelloWorld",
data: '{}',
dataType: "json",
success: function (msg) {
alert(0);
}, error: function (a, b, c) { alert("Err:" + c);
}
});
これはwebserviceを呼び出します。通話には問題はありませんが、折り返しエラーが発生します。
webserviceは1つのアプリケーション内にあり、Webページは単なるHTMLページです。最終的に、HTMLはPhoneGap内で使用されます。
私はあらゆることを試みました。
contentType: "application/json; charset=utf-8",
に追加すると、呼び出しが失敗します。 dataType: 'jsonp"
を使用すると、呼び出しが失敗します。
基本的に、上記のコードではWSが呼び出されますが、返されるとエラーが発生します。
ウェブサービスからJSONオブジェクトを返す必要があり、Safariで動作する必要があります。
誰かがJSONP呼び出しの完全なサンプルコードを持っていますか? jQuery getJSONから
もしそれが役立つかわからないhttp://www.codeproject.com/Articles/186235/Making-a-JSONP-Call-to-a-WCF-Data-Service-using-da –
@griegs - http:// localhost:61614/Service1.asmx/HelloWorld?callback = testがあなたのブラウザーで 'test({'say': 'HelloWorld'});'のようなJavaScript関数を返すようにしてください。あなたがそうするまで、jsonpリクエストは成功しません。これはアドレスバーでテストできます。お役に立てれば。 – jmort253
明確にすることが1つです。あなたがライブに行くと、ドメイン間でリクエストを行っていることを100%確信していますか?同じドメインの場合は、パディング/ラッパー機能を使用せずにJSONを返すことができます。 – jmort253