
AJAX跨域方案CORS、JSONP、flash、ifame、xhr2等等,本文主要讲下CORS。
CORS就是一套AJAX跨域问题的解决方案,它允许一个域上的网络应用向另一个域提交跨域 AJAX 请求。
实现此功能非常简单,只需在服务器端加如下header。
header(‘Access-Control-Allow-Origin: *’);
“*”号表示允许任何域访问,可以指定为特殊域名
参考:
http://www.w3.org/TR/cors/
https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Access_control_CORS
http://www.cnblogs.com/Darren_code/p/cors.html
http://www.cnblogs.com/jkko123......

服务端代码:
<?php
$connection = odbc_connect("Driver={SQL Server Native Client 10.0};Server=WINDOWS-01\SQLEXPRESS;Database=backups;", "php", "123456");
if (!$connection){
exit("Connection Failed: " . $connection);
}
$sql="SELECT pro_name,ask_price,bid_price FROM t_item";
$rs=odbc_exec($connection,$sql);
if (!$rs){
exit("Error in SQL");
}
echo "<h3>商品报价数据实时更新</h3><table><tr>";
echo "<th>类别</th>";
e......

通常xmlHttp 异步对象我们都是用1个全局变量进行异步请求处理,这样做会存在一些问题。如:当第1个异步请求尚未完成,很可能就已经被第2个异步请求所覆盖。
解决办法:通常是将xmlHttp 对象作为局部变量来处理,并且在收到服务器端的返回值后手动将其删除。
事例:
function ReceiveMailOne(type){
var xmlHttp;
try {
xmlHttp = new XMLHttpRequest();//other browser
} catch (trymicrosoft) {
try {
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");//new ie
} catch (othermicrosoft) {
try {
x......

来自德问的一篇回答:
首先,flash或者silverlight无法实现你说的需求,IE下载API接口不会因为用了flash就可以跳过用户选择直接下文件到用户硬盘
另外你说的让用户看到下载进度,如果下载文件不在你的服务器,并且你不愿意浪费带宽去做个反向代理让用户从你服务器下文件浪费多余带宽,那这是无法实现的
解决方法1:
可以用ajax get导出文件,从而最大程度上减少浏览器询问可能,也使下载更为灵活,目前新浪爱问(http://ishare.iask.sina.com.cn)就是这么做的
StartGETRequest方法,用于发起一个ajax get请求:
function StartGETRequest(url,......

最近刚刚做了一个小项目,其中用到了大量的Ajax技术。当然了,刚开始用的时候,避免不了出现很多的错误,也走了汗多弯路,这里整理了出来,除了是为了供自己以后开发参考外,也是为了拿出来与大家分享,希望能让初学者少走弯路,也希望能够得到高手的批评与指正。
一、前台传递字符串变量,后台返回字符串变量(非json格式)
Javascript代码:
这里,为了解决Ajax数据传递出现的汉字乱码,在字符串传递之前,使用javascript函数escape()对汉字字符串进行了编码,并且对返回
的字符串使用unescape()函数进行解码,使得汉字得以正常显......