Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.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
Javascript 特定用户的上下文。如果有人修改了日历,您可以根据会话找出它是谁,然后找到相应的日历。会话可能是为您设置的,您可能不需要执行任何操作即可使用它们。尽管如此,使用会话的另一种选择是为用户传递令牌——这采用某种信息的形式——用户名、密钥、会话ID,这些信息可以作为AJAX请求的一部分进行传输,并将标识是谁发出的 $("#"+ id+"MM\\("+counter+"\\)").val(pieces[0]); $("#"+ id+"DD\\("+counter+"\\)").val(pieces[1]); $("#"+id +"YYYY\\("+counter+"\\)").val(pieces[2]);_Javascript_Jquery_Date_Datepicker_Struts 1 - Fatal编程技术网

Javascript 特定用户的上下文。如果有人修改了日历,您可以根据会话找出它是谁,然后找到相应的日历。会话可能是为您设置的,您可能不需要执行任何操作即可使用它们。尽管如此,使用会话的另一种选择是为用户传递令牌——这采用某种信息的形式——用户名、密钥、会话ID,这些信息可以作为AJAX请求的一部分进行传输,并将标识是谁发出的 $("#"+ id+"MM\\("+counter+"\\)").val(pieces[0]); $("#"+ id+"DD\\("+counter+"\\)").val(pieces[1]); $("#"+id +"YYYY\\("+counter+"\\)").val(pieces[2]);

Javascript 特定用户的上下文。如果有人修改了日历,您可以根据会话找出它是谁,然后找到相应的日历。会话可能是为您设置的,您可能不需要执行任何操作即可使用它们。尽管如此,使用会话的另一种选择是为用户传递令牌——这采用某种信息的形式——用户名、密钥、会话ID,这些信息可以作为AJAX请求的一部分进行传输,并将标识是谁发出的 $("#"+ id+"MM\\("+counter+"\\)").val(pieces[0]); $("#"+ id+"DD\\("+counter+"\\)").val(pieces[1]); $("#"+id +"YYYY\\("+counter+"\\)").val(pieces[2]);,javascript,jquery,date,datepicker,struts-1,Javascript,Jquery,Date,Datepicker,Struts 1,不管是什么情况,如果您需要将信息传递回客户端,例如“操作成功”或“失败”,那么后端可以或多或少地以两种方式响应AJAX请求。一种方法是从最简单的boolean返回一些数据,以指示成功/失败,然后返回字符串或整个对象(可能已序列化并传输为JSON)以指示响应。第二种方法是发送一个符号来表示发生了什么。实际上,您可能会同时使用这两者。在客户端,这将通过使用jQuery处理程序来处理 $("#"+ id+"MM\\("+counter+"\\)").val(pieces[0]);

不管是什么情况,如果您需要将信息传递回客户端,例如“操作成功”或“失败”,那么后端可以或多或少地以两种方式响应AJAX请求。一种方法是从最简单的
boolean
返回一些数据,以指示成功/失败,然后返回字符串或整个对象(可能已序列化并传输为JSON)以指示响应。第二种方法是发送一个符号来表示发生了什么。实际上,您可能会同时使用这两者。在客户端,这将通过使用jQuery处理程序来处理

        $("#"+ id+"MM\\("+counter+"\\)").val(pieces[0]);
        $("#"+ id+"DD\\("+counter+"\\)").val(pieces[1]);
        $("#"+id +"YYYY\\("+counter+"\\)").val(pieces[2]);
 $.post("some/path/on/my/server", myData)
 .done(function() { alert("sending data succeeded") })
 .fail(function() { alert("sending data failed") })
 .always(function() { alert("finished sending data") })

这使用的是另一种方法,即将成功/失败处理程序指定为
$.ajax
调用的一部分。需要注意的是,
警报
仅用于说明目的-您可能会以不同的方式通知用户。或者可能根本没有,因为只要它有效,就可能不相关,所以只有当它失败时,您才可能通知他们

首先,您混合了两个概念:后端代码(Java)和客户端代码(JavaScript)。一般来说,在web应用程序中,当用户发出一个请求并点击您的服务器时,服务器会运行后端代码来生成响应并将其发送回—该响应以HTML/JS/CSS的形式出现,用于在浏览器中显示内容。进入浏览器后,可以执行JavaScript代码以提供进一步的功能

        $("#"+ id+"MM\\("+counter+"\\)").val(pieces[0]);
        $("#"+ id+"DD\\("+counter+"\\)").val(pieces[1]);
        $("#"+id +"YYYY\\("+counter+"\\)").val(pieces[2]);
这是针对大多数web应用程序的基本思想-Java可以被PHP、C#或JavaScript(以NodeJS的形式)或许多其他作为后端的应用程序所取代,但这两种应用程序总是在不同的时间、环境、甚至机器以及地理位置执行

        $("#"+ id+"MM\\("+counter+"\\)").val(pieces[0]);
        $("#"+ id+"DD\\("+counter+"\\)").val(pieces[1]);
        $("#"+id +"YYYY\\("+counter+"\\)").val(pieces[2]);
话虽如此,两者都可以沟通。不是以直接的方式,例如,您不能从客户端调用
MyServerObject.setMyValue()
,但是如果您想从前端传输到后端,基本上有两种方法:

        $("#"+ id+"MM\\("+counter+"\\)").val(pieces[0]);
        $("#"+ id+"DD\\("+counter+"\\)").val(pieces[1]);
        $("#"+id +"YYYY\\("+counter+"\\)").val(pieces[2]);
  • 表单提交-这是当今的“老派”方式。不是说它不好,而是不像以前那样。基本上,页面上有一个
    ,其中包含一组可以操作的
    ,提交表单时,表单会将所有值传输到后端。这将根据您想要获取数据的方式而有所不同,但归根结底是在表单上。这会导致页面作为提交的一部分重新加载,并将用户重定向到其他位置(尽管可能是同一页面)。它被视为侵入性的,而不是用户友好的,因此它是“老派”的。另一方面,它本身就受到HTML的支持,任何浏览器都知道如何处理表单,因此它有自己的用途
  • AJAX请求——虽然在任何方面都不是“新的”,但这通常是客户端代码与后端通信的首选方式。它包括在不离开页面的情况下向服务器发送一些数据,用户也不一定知道这些数据。因此,它提供了更好的用户体验,也更容易从后端处理,因为您可以更好地确定数据的格式(表单只提供键值对)
虽然有很多方法可以实现AJAX,但jQuery及其两个缩写非常方便和简单。您可能会在
onSelect
处理程序调用中执行以下操作:
$.post(“some/path/on/my/server”,myData)
其中
myData
对象将是您想要的数据,该数据将作为JSON发送,
some/path/on/my/server
是服务器中可以接受该数据的部分。一般来说,这条路径最终只会调用一些传递数据的服务器端代码——在过去,您可能只会遇到用Perl或其他语言编写的CGI脚本,但现在它只是通过URI公开的后端。这条路径的具体实现方式可能会有所不同,不幸的是,我不熟悉Struts如何实现它,但我想这一定不难

        $("#"+ id+"MM\\("+counter+"\\)").val(pieces[0]);
        $("#"+ id+"DD\\("+counter+"\\)").val(pieces[1]);
        $("#"+id +"YYYY\\("+counter+"\\)").val(pieces[2]);
无论如何,一旦后端接收到数据,通常要做的事情就是以某种方式处理它(检查有效性、清理、决定要做什么),然后将其交给应用程序的其他部分进行进一步处理。在您的情况下,您可能会收到一些数据,然后创建并用日期填充一些对象,然后…执行任何其他需要的操作。但是,如果您需要知道哪个用户发出了请求,并且这是哪个用户正在使用他们的日历进行操作,那么您可能需要包含更多信息。许多服务器端语言都有会话的概念,会话只是特定用户的上下文。如果有人修改了日历,您可以根据会话找出它是谁,然后找到相应的日历。会话可能是为您设置的,您可能不需要执行任何操作即可使用它们。尽管如此,使用会话的另一种选择是为用户传递令牌——这采用某种信息的形式——用户名、密钥、会话ID,这些信息可以作为AJAX请求的一部分进行传输,并将标识是谁发出的

        $("#"+ id+"MM\\("+counter+"\\)").val(pieces[0]);
        $("#"+ id+"DD\\("+counter+"\\)").val(pieces[1]);
        $("#"+id +"YYYY\\("+counter+"\\)").val(pieces[2]);
不管是什么情况,如果您需要将信息传递回客户端,例如“操作成功”或“失败”,那么后端可以或多或少地以两种方式响应AJAX请求。一种方法是从最简单的
boolean
返回一些数据,以指示成功/失败,然后返回字符串或整个对象(可能已序列化并传输为JSON)以指示响应。第二种方法是