您好,匿名用户
随意问技术百科期待您的加入

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

0 投票

下面这段数据,用.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('保存时出错!请刷新重新发布。');
  }
});
用户头像 提问 2014年 6月7日 @ Irelia 上等兵 (292 威望)
分享到:

1个回答

0 投票
 
最佳答案

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('保存时出错!请刷新重新发布。');
  }
});
用户头像 回复 2014年 6月7日 @ Malphite 上等兵 (306 威望)
选中 2013年 9月7日 @Irelia
提一个问题:

相关问题

0 投票
1 回复 43 阅读
0 投票
1 回复 39 阅读
0 投票
1 回复 67 阅读
0 投票
1 回复 60 阅读
用户头像 提问 2012年 12月1日 @ Janna 下士 (667 威望)
0 投票
1 回复 49 阅读
用户头像 提问 2012年 12月1日 @ Hecarim 上等兵 (361 威望)

欢迎来到随意问技术百科, 这是一个面向专业开发者的IT问答网站,提供途径助开发者查找IT技术方案,解决程序bug和网站运维难题等。
温馨提示:本网站禁止用户发布与IT技术无关的、粗浅的、毫无意义的或者违法国家法规的等不合理内容,谢谢支持。

欢迎访问随意问技术百科,为了给您提供更好的服务,请及时反馈您的意见。
...