不允许使用jquery方法

时间:2010-09-15 22:06:48

标签: php asp.net jquery html iis

如何允许此页面在IIS服务器上运行... 它在localhost上不起作用.....当我直接打开它时它会起作用...它给出错误“它是不允许的......!

The working Example..! I want this..“”

Erorr:alt text

<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()">

3 个答案:

答案 0 :(得分:1)

很难说出你给出的代码可能出现的错误,而且没有更多详细信息,例如准确的错误消息。

但是,查看代码时,最可能的原因是您正在尝试跨站点AJAX请求。出于安全原因,AJAX请求仅允许提供给网页的同一服务器。即在example.com的网页上运行的脚本只能向example.com上的其他页面发出AJAX请求。例如,对example1.com或example.net的请求将被禁止。

您可以在此处详细了解:http://en.wikipedia.org/wiki/Same_origin_policy

答案 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/