Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.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
使用PHP和JQuery_Php_Jquery - Fatal编程技术网

使用PHP和JQuery

使用PHP和JQuery,php,jquery,Php,Jquery,我想我应该在继续我的脚本项目之前问一下这个问题,然后才意识到我可能做错了什么。最好先检查一下我所做的是否正确,以节省我自己的时间 我对PHP和JQuery非常陌生,但仍然掌握着它们的窍门。我最近遇到了一个问题,我想在使用JQuery执行某个函数后运行一些PHP代码,所以在联机阅读了一些内容后,我想到了创建一个PHP文件,该文件正好完成我想做的事情,并使用所需的变量从JQuery函数发布到它。这样我就可以同时实现服务器端和客户端目标。然而 我觉得不太对劲。完全我发现自己在一个简单的页面上至少有十个

我想我应该在继续我的脚本项目之前问一下这个问题,然后才意识到我可能做错了什么。最好先检查一下我所做的是否正确,以节省我自己的时间

我对PHP和JQuery非常陌生,但仍然掌握着它们的窍门。我最近遇到了一个问题,我想在使用JQuery执行某个函数后运行一些PHP代码,所以在联机阅读了一些内容后,我想到了创建一个PHP文件,该文件正好完成我想做的事情,并使用所需的变量从JQuery函数发布到它。这样我就可以同时实现服务器端和客户端目标。然而

我觉得不太对劲。完全我发现自己在一个简单的页面上至少有十个包含文件。当表单加载时,这些文件会包含在我的HTML代码中,在使用JQuery函数刷新某个DIV之后,它们会被重新加载。这样我就可以保持我的脚本动态,我怀疑我还能做些什么来保持它的动态

然而,我经常需要在执行某个JQuery函数后更新内容,因此我调用了一个与加载文件类似的文件,但这次我将一些参数传输到一个文件(使用POST方法,通过JQuery),并在文件本身中执行所需的操作

现在,在简要介绍了我目前的情况和工作方法之后,我想知道我所做的是否正确。如果你还在想我到底在说什么,我想详细解释一下我的意思:

假设我有一个index.php文件,它可以打印数据库中的数据和一些额外的行。单击其中一个页面按钮后,我想根据植入页面的表单更新数据库,然后重新加载仅包含该数据的DIV。我不想重新加载整个页面

现在,如果我想在没有JQuery的情况下做到这一点,那就很容易了。如果POST参数确实有效,我会将数据发布到同一个表单并进行更新。但是,没有JQuery无法刷新该DIV,因此我提出了类似的方法:

$.post("/files/dosomething.php", { taskID:    _taskID }, function(){
    $("#div_tasks").fadeOut(800, function(){
        $('#div_tasks').load('/files//load_div_A.php', function(){
            $("#div_tasks").fadeIn(1500);
        });
    });
});
这就是我在学习PHP和JQuery的最后一周所做的。现在,在我进一步讨论之前,我想知道这是否真的是实现我目标的正确途径

//示例B:

例如,我的HTML代码中有一个DIV,用于打印任务表。如何打印?我包含了一个文件,该文件在我希望表格显示的确切位置回送表格。然后,在每一行中,都有一个名为“删除”的按钮,用于从数据库中删除所选行。我所做的是,使用JQuery(因为我只希望刷新该DIV),调用另一个外部文件remove.php,并使用POST发送我要删除的任务的索引。该文件执行服务器端代码,完成后,通过调用我在主页上首先调用的文件,将更新后的表加载到该DIV中。这一次,表将被更新,因为它将从数据库中读取更新的数据

我就是这样做的吗?这条路对吗?我就是觉得不太对劲。我从来没有这样编码过,看起来有点乱


提前谢谢,很抱歉问了这么长时间。

如果我理解正确的话。我认为将(使用jQuery)发布到另一个脚本会更容易,该脚本执行您想要执行的操作,并且只返回您想要的结果(html/json数据)。现在,您向服务器发出两个请求,请求的内容似乎捆绑在一起

我的建议是调用一个PHP脚本来执行您想要执行的特定操作(例如,更新新闻项)。然后,仅在响应中返回该数据,然后使用jQuery在div中格式化该数据

$.post("/files/writetodatabase.php", { taskID:    _taskID }, function(data){
    $('#div_tasks').html(data) // this is assuming you return html, other wise you // could return JSON data and use it here
});

我试图尽可能清楚地说明这一点,但键入时很难解释。

您描述的问题正是关注点分离模式(如MVC)所要解决的问题

在从一个显示实例到另一个显示实例的情况下,唯一需要更改的是必须如何格式化响应并将其提供给用户

我强烈建议您在您的项目中使用一些更受欢迎、文档记录良好的MVC框架(或者,如果没有其他东西,您只需使用它们并从中汲取灵感,那么大多数框架和一些非常简单的入门教程都可以在一个小时左右的时间内完成)


在我看来,您正以与这些方法兼容的心态看待问题,这可能会让您感到笨拙,主要是因为您缺少这些框架提供的许多结构和工具。

只是为了确保我了解您的问题。。。您有一些执行操作的服务器端代码,根据响应数据,您想从不同的PHP脚本加载一些HTML吗?您总是可以从第一个脚本返回数据。我认为你的问题更多的是关于如何组织你的项目以及如何将你的应用程序逻辑与演示分离,是吗?有很多方法可以做到这一点,但是如果你不了解你的应用程序,就很难提出建议。这不是一个真正的脚本问题,而是一个逻辑问题,你是对的。我的主要问题是认识到如何以最佳和正确的方式完成我的工作。我将尝试更清楚地说明我正在尝试做什么,请查看我更新的问题。问题是我需要在页面加载时加载数据,而不管我是否决定更新它。这意味着,我要么重复你建议我创建的更新和加载文件中的一半代码,要么保持现在的状态。有什么想法吗?我可能遗漏了什么,我会打电话给