2016-07-27 26 views
1

私は最初のAngular 2アプリを試しています。現在、私はWebサービスコールの問題に直面しています。私はwww.myserver.domain/folder/api/webservice.asmx/methodのようなURLでWebサービスを持っています。角度2からasmx webserviceを呼び出してください。

Firefoxを使用して呼び出すと、メソッドが表示され、localhostで実行すると正しくテストできます。しかし、角度コードから呼び出そうとすると失敗します。誰でも私に教えてもらえますか、何が間違っていますか?

マイコード:referrenceについては

@Injectable() 
export class MyService { 
    // URL to web api 
    private serviceUrl = 'http://www.myserver.domain/folder/api/webservice.asmx/method'; 

    constructor(private http: Http) { } 

    getData() { 
     let body = JSON.stringify({ Param1: "0", Param2: "0", Param3: "0" }); 
     let headers = new Headers({ 'Content-Type': 'application/json' }); 
     let options = new RequestOptions({ headers: headers }); 
     return this.http.post(this.serviceUrl, body, options) 
      .toPromise() 
      .then(response => response.json().data as MyDataClass[]) 
      .catch(this.handleError); 
    } 

    handleError(error: any) { 
     console.error('An error occurred', error); 
     return Promise.reject(error.message || error); 
    } 
} 

、ここでは私のWebサービスがどのように見えるかです:

[WebService(Namespace = "mynamespace")] 
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] 
[System.ComponentModel.ToolboxItem(false)] 
[ScriptService] 
public class webservice: System.Web.Services.WebService 
{ 
    [WebMethod] 
    [ScriptMethod(ResponseFormat = ResponseFormat.Json)] 
    public void List(int Param1 = 0, int Param2 = 0, int Param3 = 0) 
    { 
     //... some code to populate result of type List<Dictionary<string, string>> 
     data.Message = Common.TranslateToSerialize(result); 
     Context.Response.Write(js.Serialize(data.Message)); 
     return; 
    } 

提供される任意の助けてくれてありがとう。私はJS/Ang2の新機能だと思っていますので、できるだけ詳しくお尋ねください。

答えて

1

問題が発生した原因を皆に知らせてください:サービスはJSON応答の後に{"d" :null}文字列。私はそれを削除すると、すべてが正しく解析されます。

私はこの質問をしばらく開いたままにします。なぜ誰かがこの文字列が付加されているのか分かりますか?私に説明することができれば、あなたの答えを正しいものとしてマークします。 WebサービスがJSONを返さないので、この文字列の起源が何であるか分かりません。

回答して説明しようとする皆さん、ありがとうございます。

+0

こんにちは私はangular2でasmx webserviceを使ってみましたが、解決策を得られませんでした。あなたは参照用のデモを持っていますか? – Pravin

関連する問題