我希望返回文件内容,我正在使用webservice和JSON来执行此操作。
我已设法返回内容,但它不是我希望它的格式。
我需要顶部文本区域与底部的textarea格式相同:
我需要将\n
显示为新行,而不是将其从字符串中删除。
当前代码(忽略警报,仅用于我自己的测试目的):
function CallWebService(CSSFile) {
var stringToDisplay = "";
var webMethod = "../services/BrokerAdmin/CSSComparison.asmx/GetFileContents";
$.ajax({
type: "POST",
async: false,
url: webMethod,
data: JSON.stringify({
CSSFile: CSSFile
}),
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(msg) {},
error: function(e) {
alert("Error = " + e.responseText);
},
complete: function(msg) {
alert(msg);
if (JSON.parse(msg.responseText).d.toString() != "" || JSON.parse(msg.responseText).d.toString() != null) {
alert("msg.responseText = " + msg.responseText);
$('#ctl00_BodyContent_elm2').val(msg.responseText);
} else if (JSON.parse(msg.responseText).Message.toString() == "" || JSON.parse(msg.responseText).d.toString() == null) {
alert("YOU LOSE!");
} else {
alert("TRY AGAIN");
}
}
});
}
有人可以帮忙吗?
答案 0 :(得分:1)
找到解决方案!
complete: function (msg) {
alert(msg);
if (JSON.parse(msg.responseText).d.toString() != "" || JSON.parse(msg.responseText).d.toString() != null) {
alert("msg.responseText = " + msg.responseText);
$('#ctl00_BodyContent_elm2').val(msg.responseText);
}
else if (JSON.parse(msg.responseText).Message.toString() == "" || JSON.parse(msg.responseText).d.toString() == null) {
alert("YOU LOSE!");
}
else {
alert("TRY AGAIN");
}
}
在我的原始代码中,我能够更改传递给我的elm2的val()。代码更改如下:
complete: function (msg) {
alert(msg);
if (JSON.parse(msg.responseText).d.toString() != "" || JSON.parse(msg.responseText).d.toString() != null) {
$('#ctl00_BodyContent_elm2').val(JSON.parse(msg.responseText).d.toString());
}
else if (JSON.parse(msg.responseText).Message.toString() == "" || JSON.parse(msg.responseText).d.toString() == null) {
alert("Nothing in CSS file.");
}
else {
}
}
所有现在都显示应该:)感谢大家的帮助!
答案 1 :(得分:0)
尝试解决方案 javascript regexp remove all special characters
带你去json返回并替换特殊字符:
var desired_json = json_text.replace(/[^\w\s]/gi, '');
可能只需要替换新行:
var desired_json = json_text.replace(/\n/gi, '');
编辑:将特殊字符显示为换行符......
var desired_json = json_text.replace(/\r\n/gi, '<br>');
答案 2 :(得分:0)
忽略我所采取的警告$('#ctl00_BodyContent_elm2').val(msg.responseText);
是输出结果的实际代码?什么样的元素是'#ctl00_BodyContent_elm2'?
尝试在html和ajax中添加一些<textarea>
完成添加
$('textarea').val( JSON.parse(json).d );
是你在寻找什么?