jquery数据来自页面源

jquery data coming with page source

本文关键字:数据 jquery      更新时间:2023-09-26

这是一个基本的javascript函数。这样做的目的是获取post-id到特定的url执行一些操作并以true/false返回结果。但这实际上并没有发生。它正在返回警报(数据)中的整个页面源。我只想看到返回的真/假结果。请帮助

function cool_add(post_id)
{   
$.post('cool_main.php', {post_id:post_id}, function(data) {
    alert(data);
}

PHP:

<?php 
    // Contains all the cool functions 
    if (!isset($_SESSION)) 
    { 
        session_start(); 
    } 
    require('connect.php'); 
?> 
<?php 
    $post_id = $_POST['post_id']; 
    if ($post_id == 1)
    { 
        return true; 
    }
    else { 
        return false; 
    }
?>
PHP中的

return true用于从函数返回值。jQueryAJAX调用为data变量分配PHP文件打印出的任何内容。

以下是通过JSON传输布尔值的简单方法:

echo json_encode(array('result'=>true));

jQuery:

$.post('cool_main.php', {post_id:post_id}, function(data){
    alert(data.result); //true
}, 'json');

另一种方法:

echo 'true';

jQuery:

$.post('cool_main.php', {post_id:post_id}, function(data){
    alert(data); //"true"
});

AJAX调用返回的数据由您正在调用的URL决定,在本例中为cool_main.php。修改这个javascript没有帮助,你需要修改你的PHP文件,只返回一个布尔结果。

数据将包含cool_min.php返回的任何内容。

我的猜测是您的cool_min.php无法识别您发送的post-var。

可能有几个原因。问题不在于javascript代码,而在于cool_main.php中的服务器端脚本逻辑。

在PHP页面中,您必须根据您的示例识别ajax请求和仅"true/false"的响应。请确保除了这些数据之外,不会向浏览器发送任何其他内容。

如果你使用的是像Zend这样的MVC框架,那么在这种情况下,你可能需要禁用布局和视图。