Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 使用POST方法(node.js)将屏幕大小发送到服务器,并使用ejs更改html_Jquery_Node.js_Screen_Ejs - Fatal编程技术网

Jquery 使用POST方法(node.js)将屏幕大小发送到服务器,并使用ejs更改html

Jquery 使用POST方法(node.js)将屏幕大小发送到服务器,并使用ejs更改html,jquery,node.js,screen,ejs,Jquery,Node.js,Screen,Ejs,我想做响应性的网页设计,但我发现我可以用css来拉伸html画布。但是,我无法更改画布的像素量。所以我决定获得用户的屏幕大小,并用ejs重建。我可以使用post方法获得屏幕大小,但是ejsrender无法正常工作 下面是node.js代码和html代码 请帮忙~~ var express=require('express'); var http=require('http'); var fs=需要('fs'); var ejs=需要('ejs'); var-app=express(); app

我想做响应性的网页设计,但我发现我可以用css来拉伸
html画布。但是,我无法更改
画布的像素量。所以我决定获得用户的屏幕大小,并用
ejs
重建。我可以使用post方法获得屏幕大小,但是
ejs
render无法正常工作

下面是node.js代码和html代码

请帮忙~~

var express=require('express');
var http=require('http');
var fs=需要('fs');
var ejs=需要('ejs');
var-app=express();
app.use(express.static(uu dirname+/public));
应用程序使用(应用程序路由器);
//只获得一次相同的信息
//创建服务器
var server=http.createServer(app);
监听(54885,函数(){
log('监听*:54885');
});
app.get('/',函数(请求,响应){
fs.readFile('index.html','utf8',函数(错误,数据){
响应。发送(数据);
});
});
app.post(“/”,函数(请求,响应){
var x=请求参数(“x”);
变量y=请求参数(“y”);
fs.readFile('canvas.ejs','utf8',函数(错误,数据){
response.send(ejs.render)(数据、{
宽度:x,
身高:y
}));
});
});

密尔沃勒帆布
$(文档).ready(函数(){
$.post('/'+'?x='+$(window.width()+'&y='+$(window.height());
});

EJS不会更改浏览器中的当前页面,该页面已经从服务器发送,并且除了在用户浏览器中使用javascript之外,无法更改。您所做的只是将常规ajax发送到常规服务器,并用数据进行响应。那么就没有办法使其正确????有别的办法吗??这是一个简单的前端解决方案。您的最终结果应该类似于
,因此只需使用javascript来构造这样一个div即可。您可以使用
canvas.width=$(window.width()页面加载后。与服务器代码无关!