2

私は非常に基本的なテスト用のASP.net Webサービス(2.0およびIIS 6.0)をリモートサーバーで実行するVBで記述しています

ウェブサービス

 <WebService(Namespace:="CMS_ChecklistSystemWebService")> _
 <WebServiceBinding(ConformsTo:=WsiProfiles.BasicProfile1_1)> _
 <Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
 <System.Web.Script.Services.ScriptService()> _
 Public Class CMS_ChecklistSystemWebService
    Inherits System.Web.Services.WebService
    <WebMethod()> _
    Public Function HelloWorld() As String
        Return "Hello World"
    End Function

設定します。

ブラウザでwebservice実行できるようにするには、これらの次の行を構成に追加する必要がありましたwebservice

<system.web>
    <webServices>
        <protocols>
            <add name="HttpGet"/>
            <add name="HttpPost"/>
        </protocols>
    </webServices>
</system.web>

**ウェブサービスの成果** ここに画像の説明を入力

実行中のページweb service からこれを呼び出そうとしていましたPHPAJAX JQUERYXAMPP v3.1

Jクエリ

  $.ajax({
        type: "GET",
        url: "http://192.168.25.11/link to web service",
            data: "",
            dataType: "jsonp",
            contentType: "application/jsonp; charset=utf-8",
            success: function(data) {
                console.log(data);
            }
        });

エラー

ajax()以下は、関数 を呼び出した後のコンソールの外観ですここに画像の説明を入力

参考までに、2行目のリンクをクリックすると、にリンクさwebserviceれ、最初の画像のように実行されます

知らせ

同じプロジェクト(ドメイン)から同じものを使用するとwebservice、簡単にajax()呼び出すことができtype='json'、エラーなしで完全に機能します

質問

  • 私が間違っていることは何ですか?
  • はいの場合ではなく、オブジェクトをWebservice返す必要がありますかJSONXML
4

2 に答える 2

1

問題は、ajax 呼び出しでコンテンツ タイプを json として指定していることだと思います。しかし、Web サービスは xml を返しています。

したがって、ajax呼び出しでコンテンツタイプをxmlとして指定してxmlを処理するか(可能かどうかはわかりません)、jsonを返すようにWebサービスを構成できます。

この SO の質問 ( 2.0 asmx Web サービスから JSON を返す方法) を参照して、json を返すように Web サービスを構成します。

于 2013-05-10T13:35:51.180 に答える
0

ルミットは、ここで答えの一部しか与えていないと思います。XML ではなく JSON を返すように Web サービスを設定する必要があります。

ただし、設定していると述べました。これには、メソッドの名前が上の 2 番目の画像のキーdataType: "jsonp" の値であるメソッド呼び出し内で JSON を返す必要があります。callback

たとえば、次のようになります*。

jQuery1910366312976758182({data: "Hello World"})

*正確ではありませんが、一歩踏み出すと、アイデアが得られます...

于 2013-05-10T13:49:40.940 に答える