Javascript Jquery webservice调用无法读取属性';内容文档';未定义的

Javascript Jquery webservice调用无法读取属性';内容文档';未定义的,javascript,jquery,Javascript,Jquery,我正在从后端发送这个有效的json响应 [ { "id": 123, "vendorName": "PoppyCounter", "item": "Chocltae" }, { "id": 1234, "vendorName": "PoppyCounter", "item": "Chocltae" }, { "id": 12345,

我正在从后端发送这个有效的json响应

[
    {
        "id": 123,
        "vendorName": "PoppyCounter",
        "item": "Chocltae"
    },
    {
        "id": 1234,
        "vendorName": "PoppyCounter",
        "item": "Chocltae"
    },
    {
        "id": 12345,
        "vendorName": "PoppyCounter",
        "item": "Chocltae"
    }
]
我正在从Jquery调用webservice,如下所示

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
<script src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
    <script type="text/javascript">

    $(document).ready(function() {
        $.ajax({
            type: 'GET',
            url: 'http://192.168.2.46:8086/Poller/poll/initial',
            jsonpCallback: 'jsonCallback',
            dataType: 'jsonp',
            success: function (msg) {

            },
            error: function (e) {
                $("#divResult").html("WebSerivce unreachable");
            }
        });
    });



    </script>
</head>
<body>
    <div id="divResult" style="margin-top: 20px;">
    </div>
</body>
</html>

$(文档).ready(函数(){
$.ajax({
键入:“GET”,
网址:'http://192.168.2.46:8086/Poller/poll/initial',
JSONPCCallback:'jsonCallback',
数据类型:“jsonp”,
成功:功能(msg){
},
错误:函数(e){
$(“#divResult”).html(“无法访问WebSerivce”);
}
});
});
我得到以下异常

TypeError{stack:(…),消息:“无法读取未定义“}的属性“contentDocument”


有谁能告诉我如何解决此错误吗???

您要求的是JSONP,但是来自后端的响应是原始JSON,响应应该更像:

jsonCallback([
  {
    "id": 123,
    "vendorName": "PoppyCounter",
    "item": "Chocltae"
  }
])
还应该有一个名为
jsonCallback
的全局函数,它将获取数据数组作为参数

function jsonCallback (data) {
  console.log(data);
}
您必须设置后端来格式化JSONP,您可以找到正确的回调名称,因为jQuery将发送“jsonCallback”作为GET参数“callback”


后端应该将请求作为
application/javascript
而不是
application/json

来提供服务。您的ajax请求是否需要
jsonP
,但您只返回
json
?非常感谢,我如何返回jsonP?您必须使用
jsonP
吗?如果网站和服务位于同一个域
json
就可以了。返回jsonP的方式取决于您在后端/服务器上使用的内容。PHP,Rails。。。?不是后端人员,所以帮不了你那么多,抱歉。如果您在不同的域上,您还可以考虑激活
CORS
,以允许在
json
中发出ajax请求。