我想解决这个难题,但文件驻留在远程服务器上。我如何解析此文件,因为我一直收到此错误。
XMLHttpRequest无法加载http://www.weebly.com/weebly/publicBackend.php。 Access-Control-Allow-Origin不允许原点http://mysite.com。 拒绝获得不安全的标题“X-JSON”
以下代码
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Untitled Document</title>
<script type="text/javascript" src="prototype.js"></script>
<!-- Puzzle starts here -->
<script type='text/javascript'>
// Note: there may be some unfinished code here, that needs finishing...
// You should probably try to get this function working...
function solvePuzzle() {
new Ajax.Request('http://www.weebly.com/weebly/publicBackend.php', {
parameters:{
pos: 'solvepuzzle'
},
onSuccess:handlerSolvePuzzle,
onFailure:function() { alert('Transmission error. Please try again.'); }
});
}
function handlerSolvePuzzle(t) {
var responseText = t.responseText;
responseText = responseText.replace(/\n/, "");
if (responseText.match(/!!$/)) {
alert("Oops: "+responseText);
} else {
// Still need to decode the response
// Once the response is decoded, we can fire off the alert
// giving the user further instructions
//alert(responseText);
//alert('To complete the challenge, '+t.responseText);
}
}
</script>
</head>
<body>
<input type="button" onclick="solvePuzzle()" value="hello"/>
</body>
</html>
答案 0 :(得分:1)
Chrome和Firefox的开发者工具允许您即时修改JS。
如果您使用的是Chrome,请转到菜单View-&gt; Developer-&gt; JavaScript控制台打开控制台。从页面源复制js。改变它。然后将更改的javascript函数粘贴到控制台中。点击进入。然后开始输入'solvePuzzle();'点击进入。你会看到回复。
对于Firefox,您需要下载Firebug插件。
答案 1 :(得分:0)
由于源策略相同,您无法通过JavaScript执行此操作:https://developer.mozilla.org/en/Same_origin_policy_for_JavaScript。如果此weebly站点支持某种JSON API,则可以使用JSONP:http://en.wikipedia.org/wiki/JSONP。除此之外,由于客户端的安全限制,您可能最好通过服务器端与此站点进行交互。
答案 2 :(得分:0)
考虑在“mysite.com”上安装HTTP隧道,以便浏览器不必直接访问“weebly.com”。