2

getリクエストを使用して一連の商品を返そうとしています。応答は、200の要求でXMLを返します。

ウェブサービス:

[WebMethod]
[ScriptMethod(UseHttpGet = true, ResponseFormat = ResponseFormat.Json)]
public List<product> GetAllProducts()
{
    using (SchulteDesignYourOwnEntities db = new SchulteDesignYourOwnEntities())
    {
        return db.products.ToList();
    }
}

これが私のコードです:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">

    <head>
        <title></title>
        <script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.8.3.min.js"></script>
        <script type="text/javascript">
            $(document).ready(function () {

                $.ajax({
                    url: 'http://www.organizeliving.com/designwebservice.asmx/GetAllProducts',
                    dataType: 'json',
                    success: function (result) {
                        alert("Result: " + result.length);
                    },
                    error: function (xhr, ajaxOptions, thrownError) {
                        console.log("Status: " + xhr.status);
                        console.log("Message: " + thrownError);
                    }
                });


            });
        </script>
    </head>

    <body></body>

</html>
4

1 に答える 1

15

あなたはとして持ってdataType'json'ます。jQueryは、応答からJSONを自動的に解析しようとします。できない場合は、エラーと見なします。

XMLは有効なJSONではありません(オープニングは本当に嫌いです<)。に変更dataTypeする'xml'(または何もしない)か、代わりにサーバーから純粋なJSONを実際に出力することができます。

于 2012-12-05T15:32:25.933 に答える