我在我的javascript中有一个ajax调用,它返回一些响应作为json并将json值重定向到另一个jsp页面..在重定向的jsp页面中,我在url选项卡中获取整个json ..如何避免这种情况... 这是我在js文件中的ajax调用...
var cols="PRIORITY,USER_ID,PARTICIPANT_TYPE,CREATION_DATE,ASSIGN_TO_USER_DATE,START_WORK_DATE,DUE_DATE,OPERATION,ORDER_VK,SENDER_TYPE,SENDER_ID,ORDER_ID,FLAGS";
var ioArgs = {
url: "./DynamicDBServlet",
content: { TABLE_NAME:'CWPWORKLIST',WHERE_CONDN:cond,COLUMNS:cols},
handleAs: "json",
load: function(response) {
alert("new "+new String(response));
window.location.href = "worklist.jsp?PRIORITY="+response;
},
error: function(error) {
alert("An unexpected error occurred: " + error);
}
};
答案 0 :(得分:4)
替换此行:
window.location.href = "worklist.jsp?PRIORITY="+response;
使用:
openWindowWithPost("worklist.jsp",'height=300px,width=300px,top=200px,left=500px,scrollbars=no,sizable=yes,toolbar=no,statusbar=no','title',param);
然后具有以下功能:
function openWindowWithPost(url, windowoption, name, params)
{
var form = document.createElement("form");
form.setAttribute("method", "post");
form.setAttribute("action", url);
form.setAttribute("target", name);
var input = document.createElement('input');
input.type = 'hidden';
input.name = "PARAM";
input.value = params;
form.appendChild(input);
/*for (var i in params) {
if (params.hasOwnProperty(i)) {
var input = document.createElement('input');
input.type = 'hidden';
input.name = i;
input.value = params[i];
form.appendChild(input);
}
}*/
document.body.appendChild(form);
window.open(url, name, windowoption);
//alert("inside openpost");
form.submit();
document.body.removeChild(form);
}
并使用名称PARAM ......
将值读取到worklist.jsp答案 1 :(得分:1)
您现在正在使用GET发送PRIORITY
变量。使用POST!
您必须创建一个由单个隐藏输入组成的表单,将响应放在所述输入的value属性中,并将具有该操作点的表单提交到worklist.jsp。