摘要:无法使用XHR获取PHP的用户名:
var xhr = Ti.Network.createHTTPClient();
xhr.timeout = 1000000;
xhr.open("GET","http://myapi.com/test", false, 'user', 'pass');
xhr.send();
在我的PHP脚本中,我正在尝试使用以下命令访问用户名:
<?php print $_SERVER['PHP_AUTH_USER']; ?>
无论我尝试什么,它总是空着的。
我需要配置一些PHP设置吗?
更多信息:PHP版本5.2.13,Apache,MAMP
答案 0 :(得分:2)
<script src="http://www.webtoolkit.info/djs/webtoolkit.base64.js"></script>
<script>
var xhr = Ti.Network.createHTTPClient();
xhr.timeout = 1000000;
xhr.onreadystatechange = function() {
if (xhr.readyState != 4) return;
alert('Server said: '+xhr.responseText);
};
xhr.open('GET', 'http://myapi.com/test', false);
xhr.setRequestHeader('Authorization', 'Basic ' + Base64.encode('user:pass') );
xhr.send('');
</script>
(为了礼貌,你应该下载webtoolkit.base64.js并从你自己的服务器上提供它。)
请注意,您无法使用XHR执行跨域请求;您的JavaScript和PHP必须在同一个域中提供。