我从未接触过ajax。我可以得到一些帮助吗?
我知道如何调用 php 脚本。
例:
<script>
function myCall() {
var request = $.ajax({
url: "ajax.php",
type: "GET",
dataType: "html"
});
request.done(function(msg) {
$("#mybox").html(msg);
});
request.fail(function(jqXHR, textStatus) {
alert( "Request failed: " + textStatus );
});
}
</script>
如何从函数获得响应?如果我的 ajax.php 有功能
<?php
function example(){
return "blablalba.....";
}
?>
我的脚本应该是什么样子的?
如何从函数获得响应?
就像你从任何其他PHP脚本获得响应一样。阿贾克斯是无关紧要的。
header("Content-Type: text/plain"); // or whatever
print example();
PHP
脚本只需要显示内容,就像你直接在浏览器中加载内容一样,使用 echo
或者简单地关闭你的 PHP 标签?>
并输出 HTML 或类似内容。
你不应该返回,你应该发送实际输出。例如:具有正确内容类型的 JSON 编码字符串或数组。结果将填充到 request.done
中提到的变量,即 msg
.
您需要使用 echo 而不是 return。
阿贾克斯.php
<?php
function example(){
echo "blablalba.....";
}
?>
这取决于您使用的内容。由于您指定的内容是 HTML,因此您的响应将是一个带有 HTML 代码的字符串(就像您在记事本中编写的那样)。但据我所知,除非在 php 中使用"echo 'html code'",否则 AJAX 不会得到响应。
<?php
echo '<body><div>Response from php script</div></body>';
?>
所以先修复你的php代码。然后在 AJAX 中将"data"设置为函数参数并在函数中使用它。数据将是你从 php 的回应。
.done(function(data){
var smth = data;
});