我有一个前端Java脚本页面,它从用户获取数据并将其存储到变量中。我的Web应用程序就像一个Facebook类型,但是使用模糊逻辑的决策支持系统系统。
我想知道的是,如果用户请求使用该JS页面的页面,我的JavaScript页面是由所有用户共享还是创建单个全新页面?
我想知道,因为在我的JS页面中,我必须全局存储一些数据,并且在同一个JS页面中由不同的JS函数访问它。如果所有用户共享一个JS页面,并发将影响该全局变量中的值。
代码:
var Data_obj = new Object(); // Global variable
$(document).ready(function () {
docReady();
});
function docReady() {
//prevent # links from moving to top
$('a[href="#"][data-top!=true]').click(function (e) {
e.preventDefault();
});
//chosen - improves select option
$('[data-rel="chosen"],[rel="chosen"]').chosen();
//tabs
$('#myTab a:first').tab('show');
$('#myTab a').click(function (e) {
e.preventDefault();
$(this).tab('show');
});
$('#applicant_table tbody').on("click",".cv_info",function (e) {
e.preventDefault();
Cv_path=$(this ).attr("cv_path");
$("#cv_data").html('<object data="'+Cv_path +'" type="application/pdf" width="450" height="460"></object>');
$('#myModal_cv').modal('show');
});
$('#applicant_table tbody').on("click",".msg",function (e) {
e.preventDefault();
Data_obj.E_mail=$(this ).attr("email");//Data fetch and stored in object
Data_obj.name=$(this ).attr("name");
$('#myModal_email').modal('show');
});
$('#applicant_table tbody').on("click",".setting",function (e) {
e.preventDefault();
Data_obj.can_id=$(this ).attr("can_id");
alert(can_id);
//$('#myModal_setting').modal('show');
});
}
$( "#filter_option" ).change(function() {
$("#applicant_table tbody").empty();
$( "#filter_option option:selected" ).each(function()
{
var van_id=$("#Job_title option:selected").val();
var Duration=$(this).val();
if(van_id!="")
{
// alert("Anil");
var Obj=new Object();
Obj.duration=Duration;
Obj.van_id=van_id;
$.ajax({
type: "POST",
url: '/Arsenal/requritment/Update_Application_table',
contentType: 'application/json',
data: JSON.stringify(Obj),
success: function(Data){
for(var i=0;i<Data.length;i++)
{
// alert("hello");
data=Data[i];
if(data.can_id!=null)
{var a='<tr><td><b>'+data.apply_date+'</b></td><td><b><i>'+data.name+'</i></b></td><td><b>'+data.phone+'</b></td><td><span class="label-success label label-default">New</span></td><td> <i class="glyphicon glyphicon-list-alt cv_info" cv_path="/Arsenal/requritment/getCv?can_id='+data.can_id+'"></i> <i class="glyphicon glyphicon-envelope msg" email="'+data.e_mail+'" name="'+data.name+'" ></i> <i class="glyphicon glyphicon-cog setting" email="'+data.e_mail+'" can_id="'+data.can_id +'"></i></td></tr>';
$("#applicant_table tbody").append(a);}}}});}});});
function Send_Message()
{
alert(Data_obj.name); // data retrieval
Msg_title=("#title_name").val();
Msg_body=("#content_info").val();
$('#myModal_email').modal('hide');
}
答案 0 :(得分:0)
每个用户(每个http请求)都会独立加载和执行您的JavaScript ...即您的脚本内容将是新鲜的&#39;为每个用户。
当您需要与服务器或其他用户进行通信时,您需要将数据发送到后端,并将其分发回服务器中的所有用户。大多数人都使用ajax,我看到你已经在代码中有一些ajax调用...所以也许你已经这样做了。这很难说。
如果您不希望用户之间进行通信,您只需将所有用户数据存储在本地存储中,或将其保存在内存中。
更准确的答案,需要一个更精确的问题:)