我正在为电子商务制作产品添加页面,在提交数据之后,ajax调用将所有数据传递到查询页面,并将信息存储到数据库中。但问题是当传递大量的html数据时,它会传递description
中的任何内容。假设在描述区域写一个短段,那么它很容易通过ajax。但每当有长段落或者让大量的html数据出现时。它失败 。我正在使用的代码是
function product()
{
var micategory=$('.micatg option:selected').val();
var misubcategory=$('.misubcatg option:selected').val();
var currency=$('.micurrency option:selected').val();
var looking_for=$('input:radio[name=lookingfor]:checked').val();
var title=$('.btitle').val();
var condition=$('input:radio[name=bcondition]:checked').val();
var buy_description=CKEDITOR.instances['textarea_description_add'].getData();
var buy_country=$('.bcountry option:selected').text();
var buy_city=$('.bcity').val();
var zipcode=$(".bzipcode").val();
var price=$(".bprice").val();
var video_link=$("#infolink").val();
var address=$(".baddress").val();
var loguser=$("#loginuser").val();
var product_id=$("#prod_id").val();
var dataString = 'category='+ micategory+'&subcategory='+misubcategory+'¤cy='+currency+'&looking_for='+looking_for+'&title='+title+'&condition='+condition+'&country='+buy_country+'&city='+buy_city+'&zipcode='+zipcode+'&price='+price+'&video_link='+video_link+'&address='+address+'&loguser='+loguser+'&product_id='+product_id+'&description='+encodeURIComponent(buy_description);
alert(dataString);
$.ajax({
type: "GET",
url: "modules/buy&sell/add_prod.php",
data: dataString,
cache: false,
success: function(html){
alert(html);
alert("Your Product is Successfully Added");
window.location = "buy.php";
}
});
}
由于大量的html我使用encodeURIComponent
读取堆栈中的某个地方。但仍然没有帮助。任何人都可以帮助我。
答案 0 :(得分:2)
使用 POST
代替GET
,因为GET
的大小限制。
在ajax配置对象中。
所以,它看起来像:
$.ajax({
type: "POST",
url: "modules/buy&sell/add_prod.php",
data: dataString,
cache: false,
dataType: 'html', // add this if you only passed html, if have other value then remove it
success: function(html) {
alert(html);
alert("Your Product is Successfully Added");
window.location = "buy.php";
}
});
答案 1 :(得分:2)
答案 2 :(得分:0)
你应该使用post方法,
输入:“发布”,
使用Get方法,我们可以发送有限的数据。这取决于浏览器。