要解决ajax跨域问题,网上给出的方法有二: 1是构建服务器端的代理。简而言之,就是ajax中调用的实质还是本机的url,而服务器端替js去取回远端地址。 2.利用script标记,生成一个 标签。在js加载完成后,再执行后续操作。 就是将原来新建xmlHTTPrequest对象的操嫌启扰作改成了新建script标签的操作. 这里给出一个例子: #ajah.js var Ajah=function(url,varname,handleSuccess,handleFailure){ /** * handleSuccess,handleFailure must be functions * */ script = document.createElement("script"); script.src=url; var handler = function(str) { handleSuccess(str); } script.onload = function() { var json=eval(varname); handler(json); } if(window.ie) { script.onreadystatechange = function() { if(script.readyState=='complete'||script.readyState== 'loaded') { var json=eval(varname); if(typeof json != 'undefined') { handler(json); } } } } document.body.appendChild(script); }
而在网页中应这样调用: #demo.html <pre> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN"> <html> <head> <meta name="generator" content= "HTML Tidy for Linux (vers 1 September 2005), see