我需要帮助。
我有这段javascript代码:
// Upload image to sever
document.getElementById("upload").addEventListener("click", function(){
var dataUrl = canvas.toDataURL("image/jpeg", 0.85);
$("#uploading").show();
$.ajax({
type: "POST",
url: "html5-webcam-save.php",
data: {
imgBase64: dataUrl,
user: "example",
userid: " USERNAME "
}
}).done(function(msg) {
console.log("saved");
$("#uploading").hide();
$("#uploaded").show();
});
});
}, false);
在" USERNAME"我需要插入一个变量来调用发送照片的用户的用户名。
正确的语法是什么? 谢谢
答案 0 :(得分:0)
如果您使用Cookie或会话:
AJAX请求和常规页面请求之间没有区别。这只是对服务器的另一个请求。发出请求时,PHP会话可能仍处于活动状态,您可以从服务器端重用该用户名。同样适用于cookie。
说完了:大部分时间你根本不需要在客户端获取和插入用户名,并通过ajax请求将其传递给服务器端。
如果您不使用Cookie或会话:
然后你需要一种机制来(a)将用户名或id插入/传递到页面中,以及(b)为ajax请求获取它(这是你的问题)。
将数据从PHP传输到JS有多种方法。一种方法是使用隐藏的输入框并将用户名作为值插入,如另一个答案中所述。但您也可以插入用户名作为JS变量的值或将值填充到JSON元素中。一般来说,此问题在以前已得到彻底解答:How to pass variables and data from PHP to JavaScript?
您可以在以下答案中找到有关如何从输入框中获取值的良好示例:https://stackoverflow.com/a/11563667/1163786 答案还包含如何使用jQuery Selector获取值,如ID,Class或Name。
请记住,您需要确保这一点,因为有人可以在客户端的ajax请求中插入另一个ID或名称。
答案 1 :(得分:-1)
如果你真的想做你正在做的事情,这可能有所帮助。
我假设你有一个单独的js文件。
将您的USERNAME置于隐藏的输入中。
<input type="hidden" id="USERNAME" value="<? echo $USERNAME; ?>">
然后调用该值并将该值放在ajax代码中。
var USERNAME = $('#USERNAME').val();