0

我在我的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);
                                                        }
                                                };
4

2 回答 2

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......

于 2013-01-28T09:34:34.443 回答
1

您现在正在使用 GET 发送您的PRIORITY变量。使用邮政!

您将必须创建一个由单个隐藏输入组成的表单,将响应放入所述输入的 value 属性中,并将具有其操作点的表单提交到您的 worklist.jsp。

于 2013-01-18T08:50:24.173 回答