Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/474.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传递到PHP,然后再传递回来?_Php_Javascript_Ajax_Forms - Fatal编程技术网

如何将表单数据从JavaScript传递到PHP,然后再传递回来?

如何将表单数据从JavaScript传递到PHP,然后再传递回来?,php,javascript,ajax,forms,Php,Javascript,Ajax,Forms,我有一个这样的按钮: <a href="#" onclick="do_something()">Click Me</a> 和这样的图像字段(或YouTube嵌入,或需要更改值的内容): “/> 当用户单击该按钮时,do_something()需要从PHP文件发送数据,该文件处理一个数组(在本例中为JSON,但不相关),并返回下一个值 基本上,当您打开页面时,get\u src()包含数组的第一项,单击do\u something()将信息发送到PHP表单以接收数组

我有一个这样的按钮:

<a href="#" onclick="do_something()">Click Me</a>

和这样的图像字段(或YouTube嵌入,或需要更改值的内容):

“/>
当用户单击该按钮时,
do_something()
需要从PHP文件发送数据,该文件处理一个数组(在本例中为JSON,但不相关),并返回下一个值

基本上,当您打开页面时,
get\u src()
包含数组的第一项,单击
do\u something()
将信息发送到PHP表单以接收数组中的另一项,该项反过来将数据发送回文件,并更新
get\u src()


我在概念上有什么问题吗?我真的不知道它是不是这样工作的。

详细回答:使用()

使用
AJAX
,正如kpower所建议的。或者更好的是,尝试一下,尽管稍后基本上提供了一种简单而有趣的方法来进行AJAX调用

是sitepoint关于jQueryAjax的一个不错的教程

编辑

在服务器端,要将一些数据返回给调用的AJAX方法,可以使用函数。它从数据中生成一个JSON格式的字符串。然后您可以
echo
将该字符串传递回AJAX回调函数

记住,返回数据作为对ajax的响应就像使用PHP将数据打印到网页中一样,您只需
echo/print

在这些情况下也要小心-

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>First Tag library Example - EL Function</title>
</head>
<body>
<?php echo $your_json_response_string; ?>

</body>
</html>

第一个标记库示例-EL函数
如果您像上面那样回显字符串,那么整个内容,包括所有HTML标记和其他内容,都将作为ajax调用的响应发送。如果您只需要根据某个请求从数据库传递一些数据,例如一些事务量,请改为-

<?php
    // do your processing, but print/echo nothing
    ..........
    // Convert your result into a json_string
    ..........

    echo $your_json_response_string;
?>

使用jQuery,可以将Ajax帖子绑定到PHP文件,如下所示:

$('#myLink').click(function() {
    var myData = 'myData';

    /* post JSON */ 
      $.post('myAjax.php', {data: myData},
            /* Callback function */                      
            function(data){
            }
      , 
      'json');  

});
在myAjax.php中,您可以有如下内容:

$myData = $_POST['data'];
// do something with data
echo json_encode($jsonResult);

当myAjax.php返回响应时,jQuery回调函数将被触发,您可以在其中运行一些执行。

是的,这就是我一直在使用的。但是,我不确定在php方面该做什么。我使用
$.get('process.php',function(data){$('#results').html(data);}获得结果;
但是在
过程结束时我该怎么做。php
?我是否应该使用
echo
?@altrier:查看编辑。如果您仍然有问题,请回复。
$myData = $_POST['data'];
// do something with data
echo json_encode($jsonResult);