使用ajax将javascript变量传递给servlet
pass a javascript variable to a servlet using ajax
我有一个frameId变量,我从我的javascript代码中恢复,我想传递给我的servlet,我使用ajax,但它没有工作:
这是我的javascript方法:
function createYTEvent(frameID,j) {
return function (event) {
var player = playerArray[frameID];
var duration=player.getDuration();
if(!videoArray[j].valide){
if (event.data == YT.PlayerState.PAUSED) {
if(((player.getCurrentTime()*100)/duration)>2){
videoArray[j].valide=true;
$.ajax({
type: 'GET',
url: 'localhost:8080/favoris',
data: frameID
});
}
}
if (event.data == YT.PlayerState.ENDED) {
videoArray[j].valide=true;
alert("frame id"+frameID + "valide= "+ videoArray[j].valide);
}
}
}
}
这是我的servlet: favoris.java
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
String n1 = request.getParameter("frameID");
out.println(n1);
}
根据您在服务器上处理get请求的方式,听起来您希望在ajax调用中有一个名称为"frameID"的命名参数。如果是这种情况,那么ajax调用中的data
行需要更改为:
$.ajax({
type: 'GET',
url: 'localhost:8080/favoris',
data: {"frameID": frameID}
});
这将把它作为localhost:8080/favoris?frameID=xxx
放到URL中,然后您的服务器端代码request.getParameter("frameID");
可以从URL参数中获取它。
同样,在未来,"did not work"
不是一个非常有用的描述发生了什么,这往往使我们不得不猜测什么可能是错的。您应该解释您在服务器上实际观察到的情况,以及您采取了哪些调试或诊断步骤。
感谢大家对我的回复,我会考虑你们的意见。
我把servlet放在一个包(package1)中。
// when the player changes states
function createYTEvent(frameID,j) {
return function (event) {
var player = playerArray[frameID];
var duration=player.getDuration();
if(!videoArray[j].valide){
if (event.data == YT.PlayerState.PAUSED) {
if(((player.getCurrentTime()*100)/duration)>2){
videoArray[j].valide=true;
$.ajax({
type: 'GET',
url: 'localhost:8080/package1/favoris',
data: {"frameID": frameID}
});
}
}
if (event.data == YT.PlayerState.ENDED) {
videoArray[j].valide=true;
alert("frame id"+frameID + "valide= "+ videoArray[j].valide);
}
}
}
}
下面的代码为我的servlet的doGet方法。
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
String n1 = request.getParameter("frameID");
out.println(n1);
}
变量frameId的内容不出现在输出中,即该段落不总是出现
有必要在servlet和url之间建立映射(对应),如下所示::
@WebServlet(name = "favoris1")
public class favoris extends HttpServlet
例如,如果项目名为"MyProject", url必须是:
var url="/MonProjet/favoris1"
ajax代码突然变成:
$.ajax({
type: 'GET',
url: '/exempleYoutube/favoris1?frameID='+frameID,
success: function(resp){
alert(resp);
}
});
和servlet:
@WebServlet(name = "favoris1")
public class favoris1 extends HttpServlet {
.
.
.
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
String n1 = request.getParameter("frameID");
out.println("frameID= "+n1);
}
相关文章:
- 将函数的上下文应用于javascript变量
- 无法导出函数expressjs/requestjs中的变量
- 函数参数中的数据与指定变量之间的任何性能差异
- 将PHP变量传递给jQuery时遇到问题
- 如何通过ajax刷新JSF填充的javascript变量
- 参数变量出现ngTable指令问题
- 通过javascript重定向html传递php变量
- 将jsp文件下拉列表中的选定项分配给一个java变量(比如String selection)
- 全局变量和全局对象的属性之间有什么区别吗
- 如何在使用servlet处理时使用javascript设置隐藏变量的值
- 如何将 JavaScript 变量传递给 Java Servlet
- 在不使用 JQuery 的情况下将变量从 Javascript 传递到 Servlet
- 将javascript变量传递给servlet
- 如何将jsp上的javascript变量传递给servlet
- 将Javascript变量传递给Arraylist (java servlet)
- 将Javascript变量传递给servlet doGet方法
- 是否有可能在servlet /jsp和javascript函数之间共享会话变量?
- 我可以't在不提交表单的情况下将javascript变量传递给servlet
- 将变量从JavaScript传递到servlet
- 使用ajax将javascript变量传递给servlet