我编写了一个非常简短的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!!"}<!-- www.serversfree.com Analytics Code -->
<script src="http://www.serversfree.com"></script><noscript><a title="Free hosting servers" href="http://www.serversfree.com">Free servers</a><a title="Free websites hosting server" href="http://www.serversfree.com">Free websites hosting server</a><a title="Free hosting server features" href="http://www.serversfree.com/server-features/">Free server features</a><a title="Free hosting" href="http://www.bugs3.com">Free hosting</a><a title="Page rank" href="http://www.1pagerank.com">Page rank</a></noscript>
<script type="text/javascript">
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);
})();
</script>
<script type="text/javascript" src="http://www.bugs3.com/ganalytics.js"></script>
<!-- End Of Analytics Code -->
我不明白这里发生了什么。
答案 0 :(得分:2)
这里的答案可能会解决您的问题: https://stackoverflow.com/a/10768130/1696795
简而言之,用户cleong写道:
代码位于PHP自动附加文件中。如果您明确退出而不是让脚本到达文件末尾,则不会执行此操作。
所以只需将其附加到php代码的末尾:
exit();
答案 1 :(得分:1)
出于某种原因,您正试图echo
整个阵列。
更新以及尝试直接在您的javascript中访问json_encode
时使用result
。
所以只需在php代码中回显变量:
echo $resp["GOOD"];