2

我使用 XMLHttpRequest() 从服务器获取 C 源代码。

return HttpResponse(code, mimetype='text/x-c')

当我使用警报(代码)检查它时,我得到了正确的源代码。

像这样

enter code here
#include<stdio.h>
int main(){
    .....
}

我把它分成javascript中的每一行。

var arr = code.split('\n');
window.document.getElementById("id").innerHTML = arr;

结果是这样的。

#include
,int main(){
,    ....
,}

我找不到<stdio.h> 我不知道为什么....我不认为这是因为'<'字符。因为在 for 循环中,我可以找到 '<' 字符。

有什么问题?

4

2 回答 2

4

这是'<'字符。

您正在设置 HTML。每个浏览器都会解析 '<' 和 '>' 之间的内容。在您的情况下,它正在寻找它认为的 DOM 元素“stdio.h”。没有浏览器知道如何处理它,所以它会忽略它,而不是渲染它。

请参阅在 Javascript 中将特殊字符转换为 HTML,以了解正确转义您收到的字符串的方法。

于 2013-09-26T03:48:48.407 回答
0

示例代码是这样的:

#include<stdio.h>

int main(){
    int i;
    for(i=0; i<10; i++){
        printf("aa");
    }
}

我把它分成几行,数组只不包含<stdio.h>.

唯一的问题是<stdio.h>。for循环条件中的'<'字符,它是可见的。

稍后我会再次检查转换问题。

于 2013-09-26T05:36:52.873 回答