我无法理解为什么这不起作用。
我的网站输入了一个由ajax请求填充的内容。
我想用htmlCode填充它,但尝试时它是空的。
<form name="form" id="form" method="post" action="secondpage" />
<input type="hidden" name="htmlCode" id="htmlCode"/>
</form>
$.ajax({
url : url,
type: "POST",
async: true,
data : {
"requestData": JSON.stringify(request)
},
success: function(data, textStatus, jqXHR){
var response = data.methodResult;
alert(response.htmlCode);
document.getElementById("htmlCode").value = response.htmlCode;
},
error: function (jqXHR, textStatus, errorThrown) {
}
});
警报显示htmlCode,所以,我确定它存在。
我在jsp中读取变量:
System.out.println("htmlCode Value - " + request.getParameter(htmlCode));
这是空的。
如果我更改了REST服务器,并返回&#34;你好&#34;它被填充而不是htmlCode。
我试图设置什么禁止的角色?
我得到了解决方案,我应该将UTF-8编码为html文本
答案 0 :(得分:1)
使用JSON.stringify时是否有效?
document.getElementById("htmlCode").value = JSON.stringify(response.htmlCode);
文档:https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify
答案 1 :(得分:-1)
试试这个
$.ajax({
url : url,
type: "POST",
async: true,
data : {
"requestData": JSON.stringify(request)
},
success: function(data, textStatus, jqXHR){
document.getElementById("htmlCode").value = data;
},
error: function (jqXHR, textStatus, errorThrown) {}
});