Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/242.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的AJAX与Php表单_Javascript_Php_Jquery_Ajax - Fatal编程技术网

带javascript的AJAX与Php表单

带javascript的AJAX与Php表单,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,所以我是一个学生,为一个私人客户在一个网站上工作。在我的web设计课上,我们被教导主要使用表单,通过action=someFile.php将值从客户端传递到服务器。该类还简要介绍了如何使用ajax通过javascript和jquery从客户端传递数据,如下所示: request = $.ajax({ url: "persistTestimonial.php", type: "POST", data: {"testimonial": testimon

所以我是一个学生,为一个私人客户在一个网站上工作。在我的web设计课上,我们被教导主要使用表单,通过
action=someFile.php
将值从客户端传递到服务器。该类还简要介绍了如何使用ajax通过javascript和jquery从客户端传递数据,如下所示:

request = $.ajax({
        url: "persistTestimonial.php",
        type: "POST",
        data: {"testimonial": testimonial},
        dataType: "json"
    });

我还在一家公司实习,当时我正在用canjs for mvc编写客户端和服务器之间来回传递的c#服务。在mvc和c#后端环境中,使用上述方式编写ajax调用是有意义的。由于该类反复强调优雅的降级,我并不完全看到javascript-ajax代替php表单的好处,除了不必重新加载整个页面之外。我只想知道什么是最佳实践,以及它的具体好处是什么。

ajax的主要好处不是重新加载对服务器和客户端都是双赢的页面

客户不必再等待,体验是流动的。想想Facebook应用程序,你滚动到底部,更多的帖子被加载。这比一次又一次按下next等待下一个50篇帖子加载要好得多。但是使用ajax,你可以得到2乘2的结果

对于服务器来说,不必一次又一次地发送相同的资源在资金方面是一个很大的帮助。第二,大量的计算可以在客户端完成,并选择下一步做什么或去哪里..节省服务器更多的钱

即使是通常的方式,点击提交和论坛提交。未使用操作参数。这是一种古老的方法,最简单的说法是真的。但不是很好。原因是您无法修改、验证和执行任何其他操作。至于尽快提交。所以,通常您将提交事件处理程序附加到表单,然后取消事件传播,运行检查并执行您必须执行的任何操作,如果满意,然后手动提交它

从服务器端来说,这真的没什么大不了的。如果它是通过ajax或直接从浏览器地址栏提供的。任何请求都只是http get/post请求

例如


返回false将取消触发事件。但是当文本只是数字时,js会手动提交它。添加计时器只是为了达到效果

这可能会帮助你,如果你还没有读过AngularJS,你可能会在读过AngularJS后改变主意。AngularJS是高级的,你应该先学习基础知识。否则他将永远被困在这里。@NabilKadimi我读过关于AngularJS的书,但我正在寻找更具概念性的东西。你可以用任何方式详细说明第三章的意思关于动作参数和更好方法的段落。附加事件处理程序是指将javascript事件处理程序附加到表单吗?这会阻止它进行html表单调用吗?谢谢你的回答,它填补了课堂上的空白,但是如果你能再详细一点的话
var form= document.getElementById('f'),
    txt= document.getElementById('txt');

form.onsubmit= doStuff;

function doStuff(e) {
    if (!isNaN(txt.value)) {
        txt.value='Thanks for Interest!';
        txt.setAttribute('readonly','readonly');
        setTimeout(function(){
            f.submit();
        },1000);
    }
    return false;
}