js传叁时 url参数过长导致被截掉了.因为是get提交方式

jay10509 2012-04-25 10:14:09
代码如下:
function showEmpDetailed(cmp,isAll,field,value){

var moreSQL = document.getElementById("moreSQL").value;
var url ='DetailedAction.do?isAll='+isAll+'&org='+cmp+'&field='+field+'&moreSQL='+moreSQL;
//alert(url)
if( value > 0 ){
var width = 1000;
var height = 600;
var left;
var top;
left=(window.screen.availWidth-width)/2;
top=(window.screen.availHeight-height)/2;
window.open( url , null,'left='+left+',top='+(top-100)+',width='+width+',height='+height+'status=yes,toolbar=no,menubar=no,resizable=yes,location=no');
}
}


上面代码moreSQL的值会很长很长、我现在传过去取来 一般都拿不到。现在我想问问大家有没好的建议。
我想要实际的实现代码.而不是说一句留言说:改成post提交。 如果是改成post提交 该怎么改。或者用其他方式传这个参数,该怎么写。。。求指教 、
...全文
635 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
freedom_gooboy 2012-04-25
  • 打赏
  • 举报
回复
1要用post来提交,数据量比get传输的大

可以用form表交 method是post

2.可以用jquery ajax来提交 具体可以看下jquery api(chm手册)网上搜索下就有
类似下面这样,可以试下


function showEmpDetailed(cmp,isAll,field,value){
jQuery.ajax({
url:'DetailedAction.do', //提交的url
type:'POST', // 使用post提交
data:{isAll_val:isAll,org_val:cmp,field_val:field,password:jQuery('#moreSQL').val()}, //提交表单数据
success:function(data){
//回调函数处理
#jQuery('#login_result').html(data);


}

});


if( value > 0 ){
var width = 1000;
var height = 600;
var left;
var top;
left=(window.screen.availWidth-width)/2;
top=(window.screen.availHeight-height)/2;
window.open( url , null,'left='+left+',top='+(top-100)+',width='+width+',height='+height+'status=yes,toolbar=no,menubar=no,resizable=yes,location=no');
}
}
jay10509 2012-04-25
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
If you wanted to use post to submit the request, you need to use the XMLHttpRequest (Ajax) or form element, for an example:

1. Use the Ajax to do the post:

jQuery.post("url", callback, {pars});
……
[/Quote]



用第二种不会弹出新窗口、我要的效果必须的window.open弹出新窗口的效果
tantaiyizu 2012-04-25
  • 打赏
  • 举报
回复
If you wanted to use post to submit the request, you need to use the XMLHttpRequest (Ajax) or form element, for an example:

1. Use the Ajax to do the post:

jQuery.post("url", callback, {pars});

2. Use the form element do the post:

var form = document.createElement("form");
form.action = "url";
form.method = "post";

Here you can create some input elements to store the values, like the input box, check box and etc..

form.submit();

document.body.appendChild(form);
jay10509 2012-04-25
  • 打赏
  • 举报
回复
上面的 一般都拿不到:改为:一半都拿不到、就是说我能传过去 但是在取出来时被截掉了很多。才取到这个字符串一半的值。
想念旧时光 2012-04-25
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]
1要用post来提交,数据量比get传输的大

可以用form表交 method是post

2.可以用jquery ajax来提交 具体可以看下jquery api(chm手册)网上搜索下就有
类似下面这样,可以试下


JScript code


function showEmpDetailed(cmp,isAll,field,value){
jQuery……
[/Quote]

++
【为什么学爬虫?】        1、爬虫入手容易,但是深入较难,如何写出高效率的爬虫,如何写出灵活性高可扩展的爬虫都是一项技术活。另外在爬虫过程中,经常容易遇到被反爬虫,比如字体反爬、IP识别、验证码等,如何层层攻克难点拿到想要的数据,这门课程,你都能学到!        2、如果是作为一个其他行业的开发者,比如app开发,web开发,学习爬虫能让你加强对技术的认知,能够开发出更加安全的软件和网站 【课程设计】 一个完整的爬虫程序,无论大小,总体来说可以分成三个步骤,分别是:网络请求:模拟浏览器的行为从网上抓取数据。数据解析:将请求下来的数据进行过滤,提取我们想要的数据。数据存储:将提取到的数据存储到硬盘或者内存中。比如用mysql数据库或者redis等。那么本课程也是按照这几个步骤循序渐进的进行讲解,带领学生完整的掌握每个步骤的技术。另外,因为爬虫的多样性,在爬取的过程中可能会发生被反爬、效率低下等。因此我们又增加了两个章节用来提高爬虫程序的灵活性,分别是:爬虫进阶:包括IP代理,多线程爬虫,图形验证码识别、JS加密解密、动态网页爬虫、字体反爬识别等。Scrapy和分布式爬虫:Scrapy框架、Scrapy-redis组件、分布式爬虫等。通过爬虫进阶的知识点我们能应付大量的反爬网站,而Scrapy框架作为一个专业的爬虫框架,使用他可以快速提高我们编写爬虫程序的效率和速度。另外如果一台机器不能满足你的需求,我们可以用分布式爬虫让多台机器帮助你快速爬取数据。 从基础爬虫到商业化应用爬虫,本套课程满足您的所有需求!【课程服务】 专属付费社群+定期答疑

87,901

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧