jquery ajax和post的问题,两者有什么不同?

Dadait
  • 115

下面这段数据,用.ajax方法POST过去就会被阶段。用.post就可以完整的提交过去。

<p>ffff</p>
<p>fff</p>
<p><br></p>
<p><br></p>
<p>ffff</p>
<p><br></p>
<p><br></p>
<p>ffff</p>
<p><br></p>
<p><br></p>
<p>ffffffff</p>

POST方法就可以完整的把content内容传递过去。

var content = $("#my_textarea").val();
$.post(
    "/action/savedata",
    {
        "title":title,
        "content":content
    },
    function(msg){
        alert('sucess');
    },
    "json"
);

.ajax方法就会截断content的内容。

var content = $("#my_textarea").val();
$.ajax({
  type: "POST",
  url: "/action/savedata",
  dataType:"json",
  data: "title="+title+"&content="+content,
  success: function(msg){
     alert('success');
  },
  error: function(){
     alert('保存时出错!请刷新重新发布。');
  }
});
回复
阅读 6.6k
2 个回答

POST的数据应该放在HTTP头里的form中,不应该以URL参数的方式传递。

把你的ajax代码改成如下:

var content = $("#my_textarea").val();
$.ajax({
  type: "POST",
  url: "/action/savedata",
  dataType:"json",
  data: {
     title: title,
     content: content
  },
  success: function(msg){
     alert('success');
  },
  error: function(){
     alert('保存时出错!请刷新重新发布。');
  }
});

这个应该不是.ajax.post的问题,.ajax里头你用了网址传参的格式,可能是这个影响了数据的格式。如果data写成.post那样的话应该也是一样的。

宣传栏