2012-02-26 10 views
1

文字列を受け取り、文字列を返すWCFサービスを作成しました。 JavaScriptから呼び出すと、エラーアラートが表示されます。WCFサービスを呼び出すときのJQuery.Postのスローエラー

私はAPIを読んでみたが、間違っていることや実際のエラーメッセージを表示する方法がわからない。ここで

は私のjavascriptです:

var path = "http://localhost:15286/Service.svc/SubmitTest?url=" + encodeURIComponent(info.srcUrl); 
var jqxhr = $.post(path, function() { 

    alert("success"); 
}) 
.success(function() { alert("second success"); }) 
.error(function(oEvent) { alert("error"); }) 
.complete(function() { alert("complete"); }); 
}; 

ので、私は私の問題はjavascriptの上にあると仮定し、私はそれが呼び出されたときに、デバッガを使用してサービスを見てきたし、それがエラーなしで文字列の「Hello World」を返します側。

WCFサービス:

[ServiceContract] 
public interface IService 
{ 
    [WebInvoke(UriTemplate = "/Submit?input={value}")] 
    [OperationContract] 
    string Submit(string value); 
} 

public class Service : IService 
{ 
    public string Submit(string input) 
    { 
     return "hello world"; 
} 
+0

サービス設定はどのような応答コンテンツタイプですか? – nnnnnn

+0

あなたは管理しましたか? – gdoron

+0

申し訳ありません@ gdoron、私はあなたの質問を理解していません:( – BeepBoop

答えて

0

その後、データ型が "テキスト" であるサービスが返す "Hello World" の場合、データ型のパラメータを使用します。

var jqxhr = $.post(path, function() { 

    alert("success"); 
}, "text") // <==== 
.success(function() { alert("second success"); }) 
.error(function(oEvent) { alert("error"); }) 
.complete(function() { alert("complete"); }); 
}; 

から期待されるデータのdataTypeTheタイプサーバー。デフォルト:Intelligent Guess(xml、json、script、text、html)。あなたは、クロスドメインの問題に直面する可能性がある

との推測があまりにも「インテリジェント」ではありません何回も...

+0

ありがとう、私は同じ結果でこれを試しました:( – BeepBoop

0

がサービス応答ルックスで言う

Headers.Add("Access-Control-Allow-Origin", "*"); 
を追加してみてくださいlike

var Response = new HttpResponseMessage<string>("hello world"); 
Response.Headers.Add("Access-Control-Allow-Origin", "*"); 
return Response ; 
+0

申し訳ありませんが、私はこれをサービスまたはjavascriptに追加することをお勧めしますか? – BeepBoop

+0

私は、アクセス制御ヘッダーをサービス応答 – Rafay

+0

に送信しました申し訳ありませんが、サービスからのコードを含めるように質問を更新しました。文字通り機能から文字列を返しています。 (私はWCFサービスの初心者ですが、これは私の最初のものです) – BeepBoop

関連する問題