Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/279.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提交表单_Javascript_Php_Jquery_Ajax_Forms - Fatal编程技术网

Javascript 使用AJAX提交表单

Javascript 使用AJAX提交表单,javascript,php,jquery,ajax,forms,Javascript,Php,Jquery,Ajax,Forms,我目前正在学习更多关于Ajax和PHP的知识,我在代码中遇到了这个问题。这只是使用JQuery中的$.post()方法提交的一个简单表单,但问题是,当我在本地提交表单时,它将不起作用,但如果我将表单放在web服务器上,它将起作用 有人能解释一下为什么,以及是否有办法在web服务器上本地实现这一点吗。我目前正在使用MAMP $('#register').on('submit', function(event){ event.preventDefault(); var details

我目前正在学习更多关于Ajax和PHP的知识,我在代码中遇到了这个问题。这只是使用JQuery中的
$.post()
方法提交的一个简单表单,但问题是,当我在本地提交表单时,它将不起作用,但如果我将表单放在web服务器上,它将起作用

有人能解释一下为什么,以及是否有办法在web服务器上本地实现这一点吗。我目前正在使用MAMP

$('#register').on('submit', function(event){
    event.preventDefault();
    var details = $('#register').serialize();
    $.post('/php/register.php',details,function(data){
        $('#register').html(data);
    });
});

/php/register.php
更改为
http://localhost/php/register.php
您是否有跨域错误?意思是同一原产地保单您所说的“本地提交”是什么意思?无论是否在本地,该网页都需要由web服务器提供服务。假设您的MAMP在端口8000上运行Apache,请在浏览器中以
http://localhost:8000
而非
file:///path/to/file/on/hard-drive
。第二种方法是,
$post
无法生成XHR,因为没有HTTP服务器。@Tunde Adegoroye知道你会遇到什么错误吗?web服务器安装在我的mac电脑上本地。我使用括号运行该网站,我甚至在MAMP和带有硬url路径的解决方案上对其进行了测试,但仍然不起作用