Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用带有href的ajax打开动态php页面而不刷新页面_Javascript_Php_Jquery_Ajax - Fatal编程技术网

Javascript 使用带有href的ajax打开动态php页面而不刷新页面

Javascript 使用带有href的ajax打开动态php页面而不刷新页面,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,现在我的问题很简单,在烟囱溢出现场没有看到任何烟灰。如何使用Ajax打开动态PHP页面,以及如果Ajax失败,如何正常打开页面,就像google一样。如果他们的搜索失败,让我们想象一下他们使用Ajax,他们会自动运行页面,我如何通过Href链接做到这一点 没有页面刷新,如果无法正常加载,请帮助我卡住。没有重复没有看到任何答案请帮助我卡住了 example <a href="onelink.php" >Open me</a> //cur

现在我的问题很简单,在烟囱溢出现场没有看到任何烟灰。如何使用Ajax打开动态PHP页面,以及如果Ajax失败,如何正常打开页面,就像google一样。如果他们的搜索失败,让我们想象一下他们使用Ajax,他们会自动运行页面,我如何通过Href链接做到这一点 没有页面刷新,如果无法正常加载,请帮助我卡住。没有重复没有看到任何答案请帮助我卡住了

    example
   <a href="onelink.php" >Open me</a>

           //current page onelink.php
示例
//当前页面onelink.php

我会给你一个简短的回答,因为我已经在这个网站上看到了这类问题的一些非常好的答案,如果你继续搜索你列出的标签,特别是jquery ajax,那么我相信你会得到你需要的。位于的jquery.ajax()页面可能是一个很好的起点。如果你想真正理解这一点,你必须做一些研究。这是我的一些旧密码

这是一个ajax请求,用于从客户端向服务器上的php文件发送一些信息。页面是动态生成的还是真实的并不重要,只要它是响应请求URL的内容

function logrequest()
    {
            $.ajax({
               url: siteURL + '/custom/log/requestlog.php',
               type: 'GET',
               data: $.param({ip: customer_ip}),
               dataType: 'json',
               success: function(data){
                     if(data.count!=null)
                     {
                            requests=data.count;
                     }
               }
        });
    }
下面是来自php文件名requestlog.php的响应

<?php
$ip=$_GET['ip'];
$ip_passS=file_get_contents('http://www...passthru.txt');
$ip_passA=split(',',$ip_passS);
$ip_cnt=0;
$d=gmdate("ymd");
$RQLog=$_SERVER['DOCUMENT_ROOT'].'/custom/log/requests/RQLog'.$d.'.txt';
$fp=fopen($RQLog,"a");
$s=gmdate("H:i:s").", ".$ip."\r\n";
fwrite($fp,$s);
fclose($fp);
$ip_requests=file_get_contents('http://www.../custom/log/requests/RQLog'.$d.'.txt');
$ip_cnt=substr_count($ip_requests,$ip);
header('Content-Type: text/json');
if(!in_array($ip,$ip_passA))
{
    $response = array('count'=>$ip_cnt);
    echo json_encode($response);
}
else  //if your in the passthru, you get a free lunch
{
    $response = array('count'=>0);
    echo json_encode($response);
}
?>

因此ajax从PHP文件请求数据,服务器上的文件通过以json格式将数据返回给它来响应。在某些情况下,根据请求的去向,您可能永远不会收到响应。比如,如果你处理一个站点可以将地址转换为GPS坐标。如果他们很忙,而你的优先级很低,你可能永远也得不到响应,但你的代码可以顺利运行。但是,如果您继续生成过多的请求,您可能会遇到浏览器和服务器强加的一些限制,因此您需要了解自己在做什么

但这是简单的答案

这样做的价值在于,如果你的网站没有立即响应,这种事情可能会在你的屏幕上占据一小部分内容。你可以继续加载你的页面,返回时会提供数据

此代码的详细信息并不重要。问题是“如何打开php页面(动态或其他方式)使用ajax。答案是将正确的url传递给ajax请求,页面通过回显返回其数据。这可能是一个点击按钮或DOM加载后的文档就绪事件。这可能是很多事情。您必须决定希望它是什么。顺便说一句,调试此类代码可能非常困难,因此请耐心等待耳鼻喉科

问题的其余部分 因此,我没有回答的部分问题是,如果服务器上的页面没有打开或没有发送响应,该怎么办。因此,一个问题可能是页面确实打开并运行了,但没有发送回您预期的响应,或者在响应过程中出现了未捕获的错误。我发现了这些问题情况通常很难排除故障,因此有时我会设置响应日志,并记录对成功和失败例程(如果两者都存在)的所有响应。这样,我可以确定如何改进代码。您还可以将错误对象传递给javascript例程,具体取决于您遇到的错误类型(假设您将它们记录下来)您可能能够深入了解问题。但简单的答案是修复代码或找出发出另一个请求的方法。如果您同时创作客户端和服务器端,您可以使用try/catch来查看是否可以捕获问题。如果您不创作服务器端,请尽可能多地阅读ut他们的API或接口,并注意返回的错误


因此,大多数时候我发现其他人的公共访问接口确实会跟我顶嘴,但我必须知道如何倾听。当我编写服务器端代码时,我几乎总是尽量保持简单,因为在这种情况下,我通常不会期望获得太多的流量,如果我期望获得大量的流量,我通常会选择商业上的可用解决方案(即真正知道自己在做什么的人).

我不明白你想做什么。你的href将按你的方式工作-Ajax是从哪里来的?@RGriffiths我已经更新了问题抱歉,我会给你一个提示。了解e.PreventDefault。另外,你知道如何进行Ajax调用吗?告诉我们你迄今为止尝试了什么。最后但并非最不重要的是像你这样的问题太多了,我不明白你想做什么。你只是想在没有完全刷新的情况下更改页面的一部分吗?你需要显示更多的代码。你尝试了什么?@RGriffiths是的,我正在尝试使用ajax浏览页面,这些页面都没有刷新谢谢你的代码I don’我真的不明白你的要求是什么;是href上的一个onclick,其次我会在我的文件和ajax中包含requestlog我看到你正在传递ip:自定义ip我也会检测到,我也会检测到www…passthru.txt是被点击的链接还是我会有一个名为please的文件我不明白像初学者一样教我我我想学习这个尝试所有我无法回答的解决方案@Coopermade在上面发表评论