【发布时间】:2014-10-21 10:24:13
【问题描述】:
我正在尝试通过 Jquery ajax 附加 html 代码。
我有一个 html 表单(jQuery mobile)并在通过 JQuery Ajax 点击提交按钮时将数据发送到 PHP 文件。
PHP 文件,返回 JSON 数据如下:
{"employee":[{"Name":"Mario","Surname":"K","ID":"234"}, {"Name":"Helen","Surname":"Smith","ID":"546"]}
我想在“your-table”div 上创建一个包含 JSON 数据的表。 这是我的代码:
<script>
$(document).ready(function(){
$("#addSubmit").click(function(){
var postData = $("#addForm").serialize();
var action = "add";
$.ajax({
type:'post',
url:"http://10.0.2.2/phpAndAjax/index-handler.php",
crossDomain : true,
data: {postData: postData, action: action},
success: function() {
var action = "show";
$.ajax({
type:'post',
url:"http://10.0.2.2/phpAndAjax/index-handler.php",
crossDomain : true,
dataType: 'json',
data: {action: action},
success: function(data) {
alert(JSON.stringify(data));
$('#your-table').append('<table>');
$('#your-table').append('<tr>');
$('#your-table').append('<th> Name </th>');
$('#your-table').append('<th> Surname </th>');
$('#your-table').append('<th> ID </th>');
$('#your-table').append('<th> E-mail </th>');
$('#your-table').append('</tr>');
$.each(data, function(i, item) {
var Name=item.name;
$('#your-table').append('<tr>');
$('#your-table').append('<th>'+Name+'</th>');
$('#your-table').append('</tr>');
});
$('#your-table').append('</table>');
}
});
}
});
});
});
</script>
</head>
<body>
<!--Main page -->
<div data-role="page" id="main" >
<div data-role="header">
<h1>Employee management system</h1>
</div>
<div data-role="main" class="ui-content">
<br>
<form id="select_form" method="POST">
<p>
<label id="action">Please, select one of the following</label> <br>
<br>
<a href="#searchEmployee" data-role="button">Search an employee
(Edit and Delete)</a>
<a href="#addEmployee" data-role="button">Add Employee</a>
</p>
</form>
<div id="your-table"></div>
</div>
</div>
<!-- Add employee page -->
<div data-role="page" id="addEmployee">
<div data-role="header">
<h2>Add an employee</h2>
</div>
<div data-role="main" class="ui-content">
<form id="addForm" method="post">
<p>
<label for="name">Firstname</label>
<input id="name" name="name" type="text" class="required" /> <br>
</p>
<p>
<label for="surname">Lastname</label> <input id="surname"
name="surname" type="text" class="required" /> <br>
</p>
<p>
<label for="id">ID</label>
<input id="id" name="id" type="text" class="required" /> <br>
</p>
<p>
<input type="submit" name="submit" id="addSubmit" value="Add employee">
</p>
</form>
</div>
</div>
它警告的脚本正确,但未创建表。我尝试了一些更简单的方法,比如只添加一个段落,但都不起作用。
感谢任何帮助。
【问题讨论】:
标签: jquery html ajax jquery-mobile html-table