使用Ajax获取PHP变量中的屏幕宽度值

时间:2013-08-01 11:45:22

标签: php javascript ajax

我正在尝试通过Ajax请求获取PHP变量中的屏幕宽度。

JS档案:

function screen() {
    var xmlhttp;
    var sWidth=window.screen.width;
    if(window.XMLHttpRequest) {
        xmlhttp=new XMLHttpRequest();
    } else {
        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.open("GET", "screen.php?width="+sWidth, true);
    xmlhttp.send();
}
window.onload=screen();

PHP文件:

<?PHP 
$screen=$_GET["width"];
echo $screen;
?>

但最后它表明未定义的'宽度'。帮助

3 个答案:

答案 0 :(得分:1)

var sWidth = window.screen.width;
alert("sWidth is: " + sWidth);
var xhttp = new XMLHttpRequest();
var url = "screen.php?width=" + sWidth;
xhttp.open("GET", url, true);
xhttp.onload = function() { 
    alert("Result: " + xhttp.responseText); 
};
alert("Sending: " + url);
xhttp.send(null);

似乎工作正常。在FF或IE9 http://jsfiddle.net/JsHaw/1/

中没有问题

答案 1 :(得分:0)

试试这个

var sWidth=window.innerWidth;

docs here

希望它会有所帮助

答案 2 :(得分:0)

这应该有效:

function screen() {
    var xmlhttp;
    var sWidth=window.innerWidth;

    if(window.XMLHttpRequest) {
        xmlhttp=new XMLHttpRequest();
    } else {
        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.open("GET", "screen.php?width="+sWidth, true);
    xmlhttp.send();
}
window.onload=screen();