php - 如何使用 AJAX/JSON 提交表单?

标签 php jquery json forms submit

目前我的 AJAX 是这样工作的:

index.php

<a href='one.php' class='ajax'>One</a>    
<div id="workspace">workspace</div>

one.php

$arr = array ( "workspace" => "One" );
echo json_encode( $arr );

ajax.js

jQuery(document).ready(function(){
    jQuery('.ajax').live('click', function(event) {
        event.preventDefault();
        jQuery.getJSON(this.href, function(snippets) {
            for(var id in snippets) {
                jQuery('#' + id).html(snippets[id]);
            }
        });
    });
});

以上代码运行良好。当我单击链接 'One' 时,将执行 one.php 并将字符串 "One" 加载到 workspace DIV>.

问题:

现在我想用 AJAX 提交一个表单。例如,我在 index.php 中有一个这样的表单。

<form id='myForm' action='one.php' method='post'>
 <input type='text' name='myText'>
 <input type='submit' name='myButton' value='Submit'>
</form>

当我提交表单时,one.php 应该在工作区 DIV 中打印文本框值。

$arr = array ( "workspace" => $_POST['myText'] );
echo json_encode( $arr );

如何编写 js 以使用 AJAX/JSON 提交表单。

谢谢

最佳答案

这是我的完整解决方案:

jQuery('#myForm').live('submit',function(event) {
    $.ajax({
        url: 'one.php',
        type: 'POST',
        dataType: 'json',
        data: $('#myForm').serialize(),
        success: function( data ) {
            for(var id in data) {
                jQuery('#' + id).html(data[id]);
            }
        }
    });
    return false;
});

关于php - 如何使用 AJAX/JSON 提交表单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3438123/

相关文章:

javascript - 数据表更改列的顺序

javascript - 将多个 div 拖入另一个 jQuery

php - 如何使用 Modx Revolution API

php - 如何在加载内容时保持div的滚动位置稳定

php - Laravel 忽略 Eloquent 模型中定义的内容

javascript - 获取javascript中滚动条出现的高度

php - 如何仅更新 mysql 表中的选定字段

php - 使用 jquery ajax 将字符串传递给 php

java - 使用 Jackson 和 Hibernate 的多对多无限递归

python - 使用 chalice 时无法访问请求json_body