在定制购物车的html页面上,我需要能够向我们的服务器发送一个post,告诉它是否启用了cookie。
我在页面上有适当的javascript来检测cookies的启用/禁用(通过navigator.cookieEnabled),如果检测到cookies启用,它什么也不做,如果它们没有启用,它会发布一条消息。我需要做的不仅仅是发布一条消息。
我不希望用户能够点击购买按钮,其html (连同购物车本身,以及购物车包含的所有项目)是由我们的服务器上的数据库软件生成的(使用关联的cookie ID在网站上生成购物车)。
我不知道如何从javascript中获取布尔值(enabled/true或disabled/false),并将该信息(true或false)发送回我们的服务器,在那里我可以检测到来自网站的传入连接。
对于JS来说,我是一个非常新手,所以不要对我太苛刻!
提前感谢您提供给我的任何输入,或者给我指个方向…
以下是基于收到的答案的后续内容:
On the cart page (which is displayed when user hits a “Buy This” button elsewhere on the site, to purchase something) is this JS:
<div id="demo"></div>
<script>
var xyz = "";
xyz = "Cookies Enabled: " + navigator.cookieEnabled;
document.getElementById("demo").innerHTML = xyz;
if (navigator.cookieEnabled) {
xyz = "";
} else {
xyz = "Cookies seem to be disabled in your browser.";
}
document.getElementById("demo").innerHTML = xyz;
</script>因此,在JS中生成了一个true/false值。然后,为了构建购物车,当html页面加载时,我通过这个(这是与上面的JS相同页面上的html代码的一部分)向我们的web服务器发送一个调用:
"4DHTML vCart“(这包含在注释标记中,尽管它不是注释。在这个编辑中,我不能把它放在注释标签中,因为它被忽略了)。在我们的Web服务器软件中,它被称为“On web Connection”的方法获取,该软件是用comment编写的(它基本上是嵌入到html中的4D代码,注释标签是协议的一部分)。
然后,4D代码构建购物车,并将其(购物车页面)作为html文件发送回网站。
所以…当调用被OWC方法拾取时,我可以检测来自html购物车页面的传入变量,这些变量以数组的形式传入,并可以解析这些值。问题是,我想要的布尔值在JS中,我不知道如何在JS之外表示它们。
感谢您在这方面的时间和考虑。
发布于 2017-03-01 05:58:23
听起来您似乎是在尝试向服务器回发AJAX post。尝试如下所示:
<script>
var request = new XMLHttpRequest();
request.onreadystatechange = function() {
if(request.readyState === XMLHttpRequest.DONE) {
if(request.status === 200) {
//PERFORM ANY ADDITIONAL ACTIONS AFTER A SUCCESSFUL POST HERE...
} else {
alert('An error occurred. Please try again.');
}
}
}
var xyz = "";
xyz = "Cookies Enabled: " + navigator.cookieEnabled;
document.getElementById("demo").innerHTML = xyz;
if (navigator.cookieEnabled) {
xyz = "";
request.open('POST', 'http://yourpostbackurl.com/enabled');
request.send();
} else {
request.open('POST', 'http://yourpostbackurl.com/disabled');
request.send();
xyz = "Cookies seem to be disabled in your browser.";
}
document.getElementById("demo").innerHTML = xyz;
</script>https://stackoverflow.com/questions/42508194
复制相似问题