0

私はこのチュートリアル、http: //www.ezzylearning.com/tutorial.aspx?tid=5869127を結び付けています。

それは完璧に動作します。私が今やろうとしているのは、aspxのコンテンツをhtmlファイルとしてホストすることです。このhtmlファイルは、私のラップトップ上にある私のwampserverでホストされています。テストサーバーでホストされているasp.netコード。アクセスしようとすると、次のエラーが発生します。

Resource interpreted as Script but transferred with MIME type text/html:      "http://201.x.x.x/testAjax/Default.aspx/AddProductToCart?callback=jQuery17103264484549872577_1346923699990&{%20pID:%20%226765%22,%20qty:%20%22100%22,%20lblType:%20%2220%22%20}&_=1346923704482". jquery.min.js:4

Uncaught SyntaxError: Unexpected token <

この問題を解決する方法がわかりません。

index.htmlコード

    $(function () {
        $('#btnAddToCart').click(function () {
            var result = $.ajax({
                type: "POST",
                url: "http://202.161.45.124/testAjax/Default.aspx/AddProductToCart",
                crossDomain: true,
                data: '{ pID: "6765", qty: "100", lblType: "20" }',
                contentType: "application/json; charset=utf-8",
                dataType: "jsonp",
                success: succeeded,
                failure: function (msg) {
                    alert(msg);
                },
                error: function (xhr, err) {
                    alert(err);
                }
            });
        });
    });

    function succeeded(msg) {
        alert(msg.d);
    }

    function btnAddToCart_onclick() {

    }

</script>
</head>
<body>
        <form name="form1" method="post">
    <div>
    <input type="button" id="btnAddToCart"  onclick="return btnAddToCart_onclick()" 
        value="Button" />
</div>
</form>

aspx.vb

Imports System.Web.Services
Imports System.Web.Script.Services

<ScriptService()>
Public Class WebForm1
Inherits Page

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    Session("test") = ""
End Sub

<WebMethod()>
<ScriptMethod(UseHttpGet:=False, ResponseFormat:=ResponseFormat.Json)>
Public Shared Function AddProductToCart(pID As String, qty As String, lblType As String) As String

    Dim selectedProduct As String = String.Format("+ {0} - {1} - {2}", pID, qty, lblType)

    HttpContext.Current.Session("test") += selectedProduct

    Return HttpContext.Current.Session("test").ToString()

End Function

End Class
4

1 に答える 1

0

この理由は、ajax呼び出しのコンテンツタイプをどのように指定しても、ASP.NETはContent-Type text/xmlを使用してリクエストを送信します。

この問題の解決策は、http: //bloggingabout.net/blogs/adelkhalil/archive/2009/08/14/cross-domain-jsonp-with-jquery-call-step-by-step-guide.aspxで入手できます。

于 2012-09-06T10:32:27.530 に答える