0

我正在为电子商务制作一个产品添加页面,在提交数据后,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+'&currency='+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在堆栈中的某个地方使用过阅读。但仍然没有帮助。谁能帮我这个。

4

3 回答 3

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";
    }
});
于 2012-09-10T10:02:11.530 回答
2

我认为这是由于使用 GET 方法传递数据时对数据大小的限制。

更多细节在这里

您应该改用 POST 方法。

于 2012-09-10T10:02:42.220 回答
0

你应该使用 post 方法,

类型:“发布”,

使用 Get 方法,我们可以发送有限的数据。这取决于浏览器。

于 2012-09-10T10:04:53.110 回答