Php 我的jQuery.ajax脚本没有将html放在div中

Php 我的jQuery.ajax脚本没有将html放在div中,php,jquery,mysql,Php,Jquery,Mysql,我遇到了问题,当我单击“.page”按钮时,news.php脚本的内容不会出现在“#newsdiv”中。Firebug没有说有一些错误,当我在浏览器中运行news.php时,它很容易从MySQL中提供数据,所以这是js错误,我找不到哪里出错了,有人能帮我吗 刚刚写了一些代码: $(document).ready( function() { $('a.page').click(function() { var value = $(this).text();

我遇到了问题,当我单击“.page”按钮时,news.php脚本的内容不会出现在“#newsdiv”中。Firebug没有说有一些错误,当我在浏览器中运行news.php时,它很容易从MySQL中提供数据,所以这是js错误,我找不到哪里出错了,有人能帮我吗

刚刚写了一些代码:

$(document).ready( function() {
        $('a.page').click(function() {
            var value = $(this).text();
            var result = null; 
            var scriptURL = "/ajax.executable.files/news.php?page=" + value; //url for ajax
            $.ajax({
                url: scriptURL,
                type: 'get',
                dataType: 'html',
                async: true,
                success: function(data) {
                        $('#newsdiv').html(data);   
                } 
            });
        });
});
PHP:



您必须
返回false
在click事件中,否则单击会向上传播层次结构,如果有任何HREF值(或者即使为空),它将重新加载页面

所以,在
$.ajax({…})之后执行
返回false一切都会好起来的

编辑:

将上述脚本更改为以下内容,请参见:

$(document).ready( function() {
    $('a.page').click(function() {
        var value = $(this).text();
        var scriptURL = "/ajax.executable.files/news.php?page=" + encodeURIComponent(value); //url for ajax
        $.ajax({
            url: scriptURL,
            type: 'get',
            dataType: 'html',
            async: true,
            success: function(data) {
                    $('#newsdiv').html(data);   
            } 
        });
        return false;
    });
});
另一编辑:

由于在
a
标记中有一个
,因此
值=$(this).text()
将实际返回值
1
,而不是1。因此,请删除
标记,并按如下方式创建最后一个代码部分:

for($i = 1; $i <= $offset; $i++) {
    echo("<a href=\"\" class=\"page\" onclick=\"return false;\">".$i."</a>");
}

对于($i=1;$i进行以下更改-

$('a.page').click(function(event) { // pass event to the function
    event.preventDefault(); // prevent the default action of the click
    var value = $(this).text();

单击链接会将您带到一个新页面,这就是为什么控制台中没有结果,以及为什么没有填充div的原因。

您是否查看了Firebug中的请求/响应信息?查看Firebug中的控制台,它将向您显示发送和接收的内容。您将看到POST请求,展开它们以了解详细信息。然后它只是空白,没有当你点击链接运行Ajax之后,事情就发生了。如果没有任何问题,那么你就有另一个问题了。我让javascript:void(0);它不会像return:false那样工作?不,不会。如果你有
,它会尝试去锚定。但是它看起来像echo(“”);将它改为
echo(“”;
。不需要“div”在
a
标记内。也许我会用它来显示u网站?它的www.radiolevel.xaa.pl按钮就在滑块$(document)的正下方。准备(function(){$('a.page')。单击(function(){event.preventDefault();var value=$(this).text();并且不工作var result=null;var scriptURL=“/ajax.executable.files/news.php”页面=“+value;//ajax$.ajax的url({url:scriptURL,类型:'get',数据类型:'html',异步:true,成功:函数(数据){$('newsdiv').html(数据);}}});}”);也许我会把它展示给你的网站?它的www.radiolevel.xaa.pl按钮就在幻灯片的正下方。你不明白我想让你做什么更改吗?我无法访问你的网站,它被阻止了。嗯,不是,idk为什么会这样说
for($i = 1; $i <= $offset; $i++) {
    echo("<a href=\"\" class=\"page\" onclick=\"return false;\">".$i."</a>");
}
$('a.page').click(function(event) { // pass event to the function
    event.preventDefault(); // prevent the default action of the click
    var value = $(this).text();