0

私はjqueryを初めて使用し、asp.net 3.5で作成されたWebサービスをJqueryで使用しようとしていますが、なぜそれを使用できないのかわかりません。私がインターネットで見つけたすべての例は私がしているのと同じですが、コードに何が起こっているのかわかりません、

誰か助けてくれませんか?

これが私のJavaScriptコードです。

var soapMessage =
    '<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> \
    <soap:Body> \
    <test xmlns="http://tempuri.org/"> \
    <param>this is a test parameter</param> \
    </test> \
    </soap:Body> \
    </soap:Envelope>';

    $.ajax({
        url: "http://localhost:50575/Service1.asmx?op=test",
        type: "POST",
        dataType: "xml",
        data: soapMessage,
        complete: hi,
        error: function (a, b, c) {
            alert("error");
        },
        contentType: "text/xml; charset=\"utf-8\""
    });

    function hi(xmlHttpRequest, status) {

        alert($(xmlHttpRequest.responseText).text());

        alert($(xmlHttpRequest.responseXML).find('Mymessage').text());

    } 

これがサーバーサイドコードです

[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
[System.Web.Script.Services.ScriptService]
public class Service1 : System.Web.Services.WebService
{


    [WebMethod]
    public message test(string param)
    {
        message mymsg = new message();
        mymsg.head = "message head";
        mymsg.Mymessage = "Test string with param " + param;
        return mymsg;
    }
4

2 に答える 2

0

エラー ハンドラに渡される最初のオブジェクトには、有用な情報が含まれている必要があります。使用しているデバッグ ツールで a を「展開」してみてください。その値を単に「警告」しないでください。

a.status具体的には、とを探しますa.responseText。これにより、何が起こっているのかがよくわかるはずです。

于 2012-08-10T15:19:06.427 に答える
0

Fiddlerを試してみることをお勧めします。これは優れた Web デバッグ ツールであり、発生した問題を特定するのに大いに役立ちます。

于 2012-08-13T16:03:18.453 に答える