每次尝试调用HTML页面时,都会收到一条非描述性的“错误”消息。但是,返回了响应头,但没有实际响应。我已经走过了JQuery,现在又失去了我能做的其他事情?
最终,我试图让以下网址http://www.impre.com/uForms/external/getWeatherByZip?modules=top显示在我在主页面的HTML中创建的div中。
<script type="text/javascript">
$.ajax ({
type: "GET",
url: "http://www.impre.com/uForms/external/getWeatherByZip",
data: "modules=top",
success: function(data)
{
alert('Load was performed.');
$('#accuWeatherContainerTop').html(data);
},
error: function(data, responseText)
{
try
{
console.log('errData: ', data);
console.log('responseText: ', responseText);
} catch(e) {
alert("You don't have Firebug!\nFor shame...");
}
},
complete: function(jqXHR, textStatus) {
console.log('com_jqXHR', jqXHR.getAllResponseHeaders());
}
});
</script>
经过多次迭代,我找到了几个问题,例如我收到的301错误消息。我终于获得了“200 OK”的GET响应代码,但仍然没有响应文本。
我尝试连接的url是使用Zend Framework,我不确定它最终会如何影响AJAX请求。
这确实是同源政策违规行为,所有回复都是准确的。最初的问题是我已经解决的301错误;我一时兴起将其推送到实时网站,生产服务器现在正确显示小部件。谢谢!
答案 0 :(得分:1)
当您从非自己的域
加载它时答案 1 :(得分:1)
调试此ajax调用的更好方法是向错误函数添加第三个参数。从jquery文档:
错误(jqXHR,textStatus,errorThrown)函数
请求失败时要调用的函数。该功能收到 三个参数:jqXHR(在jQuery 1.4.x,XMLHttpRequest中)对象,a 描述发生的错误类型的字符串和可选项 异常对象,如果发生了一个。第二个可能的值 参数(除了null)是“超时”,“错误”,“中止”和 “parsererror”。发生HTTP错误时,errorThrown会收到 HTTP状态的文本部分,例如“未找到”或“内部” 服务器错误。“
第三个参数errorThrown可能包含一些有用的信息,可帮助您继续修复。
答案 2 :(得分:1)
你应该做的是向你服务器上的文件发出一个AJAX请求,比方说request.php
。在request.php
中,您将要执行某种请求(取决于您正在使用的服务器端语言,如果它确实是PHP - cURL
,)从页面请求内容你最初只是试图通过AJAX。然后,打印该响应。
正如@genesis所说,你要做的就是XSS,它是被禁止的。