如何允许此页面在IIS服务器上运行... 它在localhost上不起作用.....当我直接打开它时它会起作用...它给出错误“它是不允许的......!
The working Example..! I want this..“”
Erorr:
<html>
<head>
<script src="jquery.js" type="text/javascript" language="javascript"></script>
<script src="jquery.xml2json.js" type="text/javascript" language="javascript"></script>
<script>
function sayHello(msg)
{
alert(msg);
}
function dcSetRate(obj,value){
document.getElementById(obj).value = value.toFixed(4);
}
function dcSet(obj,value){
document.getElementById(obj).value = value;
}
(function(usedUrl) {
//All currencies quoted against the euro
var fetchService = function() {
/*USD/RUB
EUR/RUB
USD/EUR
USD/TL*/
$.get('http://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml', function(xml) {
var jsonObj = $.xml2json(xml);
//alert(jsonObj.Cube.Cube.Cube[0]["currency"] + 2);
var usd=jsonObj.Cube.Cube.Cube[0]["rate"];
var rub=jsonObj.Cube.Cube.Cube[16]["rate"];
var eur= 1 //jsonObj.Cube.Cube.Cube[1]["rate"];
var ytl=jsonObj.Cube.Cube.Cube[17]["rate"];
var usd_rub= rub/usd;
var eur_rub =rub/eur;
var usd_eur = eur/usd;
var usd_ytl= ytl/usd;
dcSetRate("USD_RUB",usd_rub);
dcSetRate("EUR_RUB",eur_rub);
dcSetRate("USD_EUR",usd_eur);
dcSetRate("USD_YTL",usd_ytl);
});
getMicex();
// assuming your elements are <img>
document.getElementById("text1").value = getDt();
// if not you could also set the background (or backgroundImage) css property
// document.getElementById(elements.shift()).style.background = "url(" + images.shift() + ")";
///sayHello(usedUrl);
setTimeout(fetchService, 10500);
}
window.onload = fetchService;
}(['URL URL']))
function getMicex(){
$.get('http://www.micex.com/issrpc/marketdata/stock/index/daily/short/result.xml', function(xml) {
var jsonObj = $.xml2json(xml);
var indexValue = jsonObj.row["CURRENTVALUE"];
dcSet("Micex",indexValue);
});
}
function getDt(){
var currentTime = new Date()
var hours = currentTime.getHours()
var minutes = currentTime.getMinutes()
var seconds = currentTime.getSeconds()
if (minutes < 10){
minutes = "0" + minutes
}
var ama;
if(hours > 11){
ama ="PM";
} else {
ama ="AM";
}
return hours + ":" + minutes + " : " + seconds + " " + ama;
}
</script>
</head>
<body>
<input type="text" name="fname" id="text1"/><br/>
USD_RUB<input type="text" name="fname" id="USD_RUB"/><br/>
EUR_RUB <input type="text" name="fname" id="EUR_RUB"/><br/>
USD_EUR <input type="text" name="fname" id="USD_EUR"/><br/>
USD_YTL <input type="text" name="fname" id="USD_YTL"/><br/>
Micex<input type="text" name="fname" id="Micex"/><br/>
</body>
</html onLoad="sayHello()">
答案 0 :(得分:1)
很难说出你给出的代码可能出现的错误,而且没有更多详细信息,例如准确的错误消息。
但是,查看代码时,最可能的原因是您正在尝试跨站点AJAX请求。出于安全原因,AJAX请求仅允许提供给网页的同一服务器。即在example.com的网页上运行的脚本只能向example.com上的其他页面发出AJAX请求。例如,对example1.com或example.net的请求将被禁止。
答案 1 :(得分:1)
发生此错误是因为IE阻止了对其他站点的请求(在您的案例中为www.micex.com)。 您可以查看jQuery API文档,我发现它非常有用: http://api.jquery.com/jQuery.get/
此外,请在示例之前注意这一点:
附加说明:
- 由于浏览器安全限制,大多数“Ajax”请求都是 遵守同一原产地政策;该 请求无法成功检索 来自不同域的数据, 子域名或协议。
- 如果使用jQuery.get()的请求返回错误代码,则会失败 默默地,除非剧本也 称为全局.ajaxError()方法。
- 脚本和JSONP请求不受同一原始策略的约束 限制。
您可以通过在$ .get(...)周围添加 try - catch 块来检查这一点;在 catch 部分中调用并执行其他操作,或通知用户。
答案 2 :(得分:1)
权限被拒绝,因为您从其他远程域请求了某些内容。在您的情况下,您不得不将数据类型指定为jsonp。我的自我也有类似的问题。您可以参考jquery文档以获取更多详细信息
http://api.jquery.com/jQuery.ajax/
http://bob.pythonmac.org/archives/2005/12/05/remote-json-jsonp/