jQuery ajax php function


jQuery ajax php function

我从未接触过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;
});