获得奇怪的responseText

时间:2015-01-15 19:50:44

标签: javascript php xml

我编写了一个非常简短的PHP代码,仅用于测试Cordova应用程序中的ajax。

php的代码是:

<?php

    if (isset($_POST["TEST"])){
        if ($_POST["TEST"] == "TEST"){
            $resp["GOOD"] = "TEST WORKS!!";
            echo (json_encode($resp));
        }
    }
?>

我的请求代码是:

    $.post('http://mobtest.bugs3.com/test.php',
        { TEST: 'TEST' },
        function (result) {
            console.log(result);
            $('#txtlbl').text(result);
        }
    );

我希望responseText为"TEST WORKS!!",但我得到的是:

{"GOOD":"TEST WORKS!!"}&lt;!-- www.serversfree.com Analytics Code --&gt;
&lt;script src="http://www.serversfree.com"&gt;&lt;/script&gt;&lt;noscript&gt;&lt;a title="Free hosting servers" href="http://www.serversfree.com"&gt;Free servers&lt;/a&gt;&lt;a title="Free websites hosting server" href="http://www.serversfree.com"&gt;Free websites hosting server&lt;/a&gt;&lt;a title="Free hosting server features" href="http://www.serversfree.com/server-features/"&gt;Free server features&lt;/a&gt;&lt;a title="Free hosting" href="http://www.bugs3.com"&gt;Free hosting&lt;/a&gt;&lt;a title="Page rank" href="http://www.1pagerank.com"&gt;Page rank&lt;/a&gt;&lt;/noscript&gt;
&lt;script type="text/javascript"&gt;

  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-24425628-3']);
  _gaq.push(['_setDomainName', window.location.host]);
  _gaq.push(['_setAllowLinker', true]);
  _gaq.push(['_trackPageview']);

  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  })();

&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.bugs3.com/ganalytics.js"&gt;&lt;/script&gt;
&lt;!-- End Of Analytics Code --&gt;

我不明白这里发生了什么。

2 个答案:

答案 0 :(得分:2)

这里的答案可能会解决您的问题: https://stackoverflow.com/a/10768130/1696795

简而言之,用户cleong写道:

  

代码位于PHP自动附加文件中。如果您明确退出而不是让脚本到达文件末尾,则不会执行此操作。

所以只需将其附加到php代码的末尾:

exit();

答案 1 :(得分:1)

出于某种原因,您正试图echo整个阵列。

更新以及尝试直接在您的javascript中访问json_encode时使用result

所以只需在php代码中回显变量:

echo $resp["GOOD"];