XDomainRequest对象如何用POST传递变量给PHP?
这是IE8中一个跨域访问中的问题。
HTML:
JScript code:
var xdr = new XDomainRequest();
var para = "act=free&val=112345";
xdr.open("POST","http://127.0.0.3/test.php");
xdr.send(para);
xdr.onload = function(){alert( xdr.responseText )};
xdr.onerror = function(){alert("error!")};
这样传递过去后test.php是接收不到act/val这两个变量的,比较郁闷。网上查了下,Ajax使用POST时HTTP头需要设置为:application/x-www-form-urlencoded,而这个XDR的HTTP却不能设置(我就热了,IE Team脑袋进水了吧)HTTP头。
不要用XMLHttpRequest的解决方法,那个太麻烦了。
PS:这个XDR目前还不完善的说。要用XDR的话,对方域中必须要设置头:Access-Control-Allow-Origin:* ,但IE Team又限制了不允许更改HTTP头,说是比较危险,那一边要求对方设置文件头才能跨域,一边还限制HTTP头为text/xml,这不是画蛇添足么?真是个操蛋。
参考:
http://school.itzcn.com/special-spid-28.html
上面讲解的比较详细,希望对楼主有所帮助。
Access-Control-Allow-Origin:*是服务器端返回响应的时候设置的,设置了之后客户端才可以接收数据。
http://msdn.microsoft.com/en-us/library/cc288168%28VS.85%29.aspx
有例子,应该是可以的。
如果数据不多,还可以使用GET方法
跨域 的功能目前IE支持的还不全面。Firefox 支持的很全面,可以参加
http://blog.csdn.net/net_lover/archive/2010/
相关问答:
各位大些
求一段php代码
可以实现以下功能
针对不同的浏览器显示不同的图片
就是有一张图片,只想给ie6用户看到
如果ie7、chrome、firefox用户浏览则显示另外一张图片
价格不要太离谱就行 ......
代码如下:
function uc_get_user($username, $isuid=0) {
$return = call_user_func(UC_API_FUNC, 'user', 'get_user', array('username'=>$username, 'isuid'=>$isuid));
return UC_CONNECT == 'mysql' ......
我刚学习php请问,如果我把php文件上传至服务器后,例如http://www.****.com/cast.php这个文件会不会被别人下载或复制阿?
可以被下载,也可以不被下载,看web服务器对该文件权限的配置
看你对文件权限的设置
......
已经修改了
(1)PHP.ini中的post_max_size 和upload_max_filesize,并且保证了前者大于后者
(2)Windows\System32\inetsvr\MetaBase.xml中的AspMaxRequestEntityAllowed
修改完毕后,重新启动了IIS服务,并且计 ......