0

我正在对 PHP 脚本进行 jQuery Ajax 调用,该脚本在 Javascript 中返回此字符串变量:

"<div id=\"page\">\r\n\r\n\t"

我可能在这里遗漏了一些简单的东西,但是有没有办法恢复\r\n<br/>,但更重要的是,恢复\"page\""page"? 我就是想不通。

Javascript 看起来像这样:

    $.ajax({
        type: 'POST',
        dataType: "JSON",
        url:  sameURLasPHPscript,
        success:function(data){
            // successful request; do something with the data
            $('body').text(data);
        },
        error:function(){
            // failed request; give feedback to user
            alert('ErrorMessage');
        }
    });

我的 php 文件如下所示:

        $url = "someURL/controller/action/getID";

        $a = file_get_contents($url);           

        echo json_encode($a);

编辑:解决方案可以在这里找到:http ://blog.dkferguson.com/index.cfm/2011/3/15/jQuery-Mobile-styling-loaded-content

4

2 回答 2

3

您可以使用此函数去除斜线: http ://phpjs.org/functions/stripslashes:537

你可以用这个函数替换\r\n: http ://phpjs.org/functions/nl2br:480

于 2012-05-12T19:52:14.647 回答
2

您的服务器正在发送 JSON 编码数据,您应该同样对待它。更改 jQuery.ajax 的参数,使其需要 JSON 数据。然后 jQuery 将解析数据并处理所有\",\r\n.

编辑

比较这两个 jQuery 函数的输出:

$('body').text("<b>bold</b>"); // will write <b>bold</b> literally
$('body').html("<b>bold</b>"); // will write bold in bold font

您需要使用jQuery.html函数将 HTML 显示为 HTML。

于 2012-05-12T20:10:31.223 回答