我是JSONP和Ajax / JQuery的新手。我搜索了高低的答案,但在那里找不到任何东西。
我有一个自托管的WCF服务设置,其中WebHTTPBinding启用了WebScriptEnablingBehavior。我的服务正在运行,我可以转到我的网址“http://e-invizion:8801/csecontrol/v1/GetTestString”,Firefox会提示下载文件,所以我在记事本中打开该文件,内容为“{”d“:”2011年6月28日12: 10:23 AM“}”,它只是从服务器返回的当前日期和时间。所以这似乎工作得很好。
如果我查询:
$.ajax({
url: "http://e-invizion:8801/csecontrol/v1/GetTestString&callback=?",
dataType: "jsonp",
type: "GET",
cache: false
},
function(data){
console.log(data);
});
这会被吸入页面的头部,每次按下按钮都会出现一个新的:
<script async="" src="http://e-invizion:8801/csecontrol/v1/GetTestString&
callback=jQuery16102834440269703241_1309242056366?_=1309242057876">
<HTML><HEAD><STYLE>snip...</STYLE>
<TITLE>Service</TITLE></HEAD><BODY>
<DIV id="content">
<P class="heading1">Service</P>
<BR/>
<P class="intro">Endpoint not found.</P>
</DIV>
</BODY></HTML>
</script>
如果我查询:
$.getJSON("http://e-invizion:8801/csecontrol/v1/GetTestString?callback=?", getNowPlayingResponse);
我在Firebug控制台中得到了这个:
invalid label
{"d":"6\/28\/2011 1:23:21 AM"}
我正试图让这个回调为JSONP工作,但我只是对我所缺少的东西感到茫然。
答案 0 :(得分:1)
好像你的网址错了
$.ajax({
url: "http://e-invizion:8801/csecontrol/v1/GetTestString?callback=?",
dataType: "jsonp",
type: "GET",
cache: false
},
function(data){
console.log(data);
});
我将GetTestString&callback...
更改为GetTestString?callback...
希望这是问题