我试图制作一个SmartTV应用程序,它必须从某个URL请求它的频道列表。
如果是这样,我在看到预期的内容长度时没有收到响应文本。 jQuery.ajax在状态为0时抛出一些错误。但是,当通过浏览器打开相同的URL时,我收到了预期的响应。
到目前为止,我发现的唯一区别是浏览器能够设置收到的cookie,然后才能将其发回。但SmartTV应用程序就像是另一个执行跨域ajax请求的网站。它会收到响应中的cookie,但没有设置它(或者至少它在需要时不会发送回来)。
jQuery.ajax({
url: 'http://url...',
data: "",
dataType: 'xml',
success: function (output, status, xhr) {
alert(output);
},
error: function(xhr, ajaxOptions, thrownError) {
alert("xhr " + xhr.status);
alert("error " + thrownError);
},
crossDomain: "true"
});
是否可以像我在这里使用它一样使用jquery?如果没有,那么获得该响应并设置正确cookie的另一种方式是什么?
修改:它似乎不是任何Cookie的问题。我已经创建了一个我的应用程序请求的界面WebAPI。 WebAPI能够获得正确的结果,然后将其作为纯文本发送到SmartTV应用程序。应用程序端的结果是相同的 - 在响应标头中,我看到了预期的内容长度,但没有内容。有趣的是,我测试该应用程序作为IE中的普通网站,而不是一些故障的SmartTV。如果jQuery.ajax没有返回响应正文,我做错了什么?
编辑2:哦,嗯,同样的原始政策......
答案 0 :(得分:0)
使用xhr.responseText
获取数据。