-1

私は単純なWCFメソッドを書きました.正しい値を返していますが、200を示しています

    $.ajax({
        url: "http://localhost:60770/Service.svc/GetContacts?calback=?",
        type: "POST",
        dataType: "JSON",
        contentType: "application/json",
        data: "{}",
        crossDomain: true,
        processdata: true,
        success: function (response) {
        //    var data = response;
            alert("data.FirstName");
        },

        error: function (e) {
            alert('error ' + e.status + ' ' + e.responseText);

        }
    });

エラーが発生し、FireBug を使用して応答を確認しているときに発生します。そこにJsonが表示されています。

助けてください!!

4

1 に答える 1

0

ここで JSON と JSONP を混在させているようです。

絶対 URL がありますがcrossDomain:true、ローカル ホストを指しています。次に、例にタイプミスがあります?calback=?(「l」と2番目の「?」がありません)。

JSONP では:

/GetContacts?calback=myFunction

次のような結果が期待されます。myFunction({"d":"Hello"})

myFunction自動的に呼び出されます。あなたの場合は「?」関数の名前です。また、WCF、.NET 4 は JSONP をサポートしていますが、有効にする必要があります: 既存の WCF サービスに対して JSONP をネイティブに有効にする方法は?

したがって、スイッチをオフにして、パラメーターcrossDomain:trueなしで相対 URL を提供するcallbackか、JSONP について少し読んでください: JSONP とは何ですか?

于 2013-03-09T17:46:32.503 に答える