日期:2014-05-20  浏览次数:20638 次

跨域传送参数的问题,解决追加100分!!!
我有个请求需要跨域,现在发现一个问题,就是参数太长的时候,服务端得到的是被截掉的参数,这个问题该怎么解决啊?
JScript code

var data = "exportName=" + exportName + "&total=" + total + "&exportType=" + exportType + "&browserVersion=" + browserVersion + "&runtimeSql=" + runtimeSql + "&tableHeaderId=" + tableHeaderId + "&exportFields=" + exportFields;
$.ajax({
    type:'post',
    url:url,
    data:data,
    dataType:'jsonp'
});


问题就是runtimeSql太长的时候就被截掉了,而且,截掉的是runtimeSql的后面部分,而不是将整个data的后面截掉,这个runtimeSql是一个比较复杂的sql语句,写了150行,也就五千多个字符,就传不过去了。

跪求解决方法!!!

------解决方案--------------------
我有现成的JS跨域代码,但是不宜公开。

这样吧,还是告诉你一个代理式的方法。
就是写个web站点(webA),用tomcat什么的跑起来,在webA的前台index.html页面向自己的后台/servlet发送请求,/servlet通过java.net包里的URL读取你想要的url就行,然后再返回到前台自己的index.html页面就OK了。
------解决方案--------------------
唉,你这样弄的很不好,我们做跨域传参,都是http+xml来传的,这样方便维护
------解决方案--------------------
那就分多次传行不?或者写个socket程序专门传参数的。。偶还没听说过跨域传sql语句的做法。。
------解决方案--------------------
只传关键数据不行吗?然后用关键数据再组织sql,因为传送的string有长度限制的,传送sql显然是不现实的……
------解决方案--------------------
看能压缩不?