求救!关于ajax传递内容到action,数据不完整
我通过fckeditor来编辑内容·然后通过ajax来发送请求给action,在ajax的函数里接收到的数据是包含有html标签的,当我发送到后台的action并打印出来的时候发现只打印了一个起始的<p>标签,存到数据库的时候也是只存储一个<p>标签·经仔细观察,发现只要编辑的数据中包含空格的话就必定会造成这种情况··百思不得其解··现贴出代码,忘高手们点拨一二··
AJAX的方法
action接收数据并处理的方法:
以下是后台控制台打印出的结果
AJAX的方法
function addComment() {
//以下是获取fckeditor的值
var fck=FCKeditorAPI.GetInstance("u_comment_a.commentContent").GetXHTML(true);
var userId=document.getElementById("userId").value;
var articleId=document.getElementById("articleId").value;
//fck=encodeURI(encodeURI(fck));//转码
alert("用户Id:"+userId);
alert("文章Id:"+articleId);
alert("评论内容:"+fck);
var xhr=new createXmlHttpRequest();//第一步,获取XHR对象
xhr.onreadystatechange=function (){//第二部,写监听函数
if (xhr.readyState == 4) {//条件判定
if (xhr.status == 200||xhr.status == 304) {
alert("评论成功!");
location.reload() ;
}
}
}
xhr.open("post","UserComment!addUsercommentarticle",true);//链接请求
xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded")//设置一下请求头
xhr.send("u_comment_a.commentContent="+fck+"&users.userId="+userId+"&article.articleId="+articleId);//发送
//return false;
}
action接收数据并处理的方法:
/**
* 添加一条评论的方法
* @return
*/
public void addUsercommentarticle() {
System.out.println(article.getArticleId()+"--------------------articleId--------------------");
System.out.println(users.getUserId()+"--------------------userId--------------------");
//解码
try {
u_comment_a.setCommentContent(java.net.URLDecoder.decode(u_comment_a.getCommentContent(), "UTF-8"));
} catch (UnsupportedEncodingException e1) {
e1.printStackTrace();
}
System.out.println(u_comment_a.getCommentContent()+"--------------------u_comment_a------------------------");
try {
users = UserManagerBean.getUserById(users.getUserId());
article = ArticleManagerBean.getArticleById(article.getArticleId());
//每当评论一次就添加一次被评论的次数
article.setCommentCount(article.getCommentCount()+1);
//提交更新
ArticleManagerBean.updateArticle(article);
//再获取一次
// article = ArticleManagerBean.getArticleById(article.getArticleId());
System.out.println(article.getCommentCount()+"====================================");//打印评论次数看看
//设置评论所属文章及评论者
u_comment_a.setArticle(article);
u_comment_a.setUsers(users);
} catch (Exception e) {
e.printStackTrace();
}
UserCommentArticleManagerBean.addU_A(u_comment_a);
//return "commentSuccess";
}
以下是后台控制台打印出的结果
98--------------------articleId--------------------
9--------------------userId--------------------
<p>--------------------u_comment_a------------------------
...全文
相关推荐
再谈Jquery Ajax方法传递到action(补充)
#### 总结通过上述内容,可以了解到在Jquery中使用Ajax方法向后端Action传递数据的多种方式和注意事项。
实现jquery.ajax向ASP.NET MVC Action的参数传递
本文还有配套的精品资源,点击获取 简介:jQuery的ajax方法允许在不刷新页面的情况下与服务器进行数据交互,是提升Web用户体验的关键技术。本文深入讲解了如何通过ajax方法向ASP.NET MVC框架中的Action传递参数。文章从ajax方法的结构开始,详细说明了如何设置URL、请求类型、发送数据、期望返回的数据类型以及成功和错误处理函数。同时,还介绍了conten...
jquery的ajax传json对象数组到struts2的action
在前端,利用`$.ajax()`发送JSON数据;在后端,Struts2 Action接收并处理这些数据。这种通信方式在现代Web应用中非常常见,因为它提供了高效、灵活的数据交换手段。
jquery.ajax 传参数到mvc的action
Ajax(Asynchronous JavaScript and XML)技术允许我们在不刷新整个页面的情况下与服务器进行数据交换,提高用户体验。
Jquery Ajax方法传值到action的方法
jQuery AJAX 是一种在不刷新整个页面的情况下与服务器交换数据并更新部分网页的技术。


