首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将参数从AJAX传递到JSP页面

将参数从AJAX传递到JSP页面
EN

Stack Overflow用户
提问于 2012-02-10 06:18:15
回答 1查看 9.6K关注 0票数 0

我试图将一个参数从AJAX传递回我的JSP页面。下面是我的示例代码:

JS文件:

代码语言:javascript
复制
$(document).ready(function() { 
            $.ajax({
            type: "GET",
            url: "URL...",
            dataType: "xml",
            success: function(xml) {
                $(xml).find('Rowsets').each(function(){ 
                            var x = $(this).find('Auto_Id').text() // Assign data from Auto_Id into variable x
                    document.form.y.value = x; // Pass the parameter back to the JSP page
                    });
                }
    });
});

.JSP文件:

代码语言:javascript
复制
<FORM name="form"><input name="y" value="" /></FORM> //value left blank for AJAX to auto-populate

上面的代码可以工作--我可以得到参数x。但是,在同一个.JSP页面上是否可以将x的值转换成以下格式呢?

代码语言:javascript
复制
<%= session.getAttribute("x") %>

或者,获取x的值并将其传递给java标记<%= %>?

这样做的目的是在页面加载时从XML获取参数(通过AJAX),将一个参数传递回我的JSP页面,以便我可以使用它动态创建一个URL (例如"http://xyz&Param=“+ session.getAttribute("x") + "")。请注意,URL必须在java标记<%= .中定义。jsp页面的%>。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-02-10 08:50:06

不能在scriptlet中使用Javascript变量。我希望您知道,JSP是在服务器端和在进行AJAX调用之前执行的。您应该在代码中做一些调整来实现这一点,在JS中构造URL。像这样,

在JSP中,您可以拥有

代码语言:javascript
复制
<input type='hidden' value='<%=dynamicallyCreatedURL%>' id='dynamicallyCreatedURL'/>

读取Ajax响应回调中的上述隐藏元素以构造URL。您可以在任何地方使用构造的url。在这里,我用形式动作

代码语言:javascript
复制
$(xml).find('Rowsets').each(function(){
    var x = $(this).find('Auto_Id').text() // Assign data from Auto_Id into variable
    document.form.y.value = x; // Pass the parameter back to the JSP page 

    //Here construct the URL and set as forma action
   var dynamicallyCreatedURL = document.getElementById('dynamicallyCreatedURL').value+'?param='+x; 
document.form.action = dynamicallyCreatedURL;
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9223583

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档