我正在使用jquery's "$.post()"函数在php中为mysql数据库添加一个列表条目。
$(document).ready(function(){
$(".theSubmit").click(function(){
var content = $("textarea").val();
var listn = $("input[name='list_name']").val();
var groupn = $("input[name='group_name']").val();
$.post("/secret_url/lists/add_to_list",
{list_item: content, list_name: listn, group_name:groupn},
function(html){$("li:last").after(html);});
});
});
一切正常,新的列表项将添加到页面中。但是,使用firebug,我发现我得到了这个额外的html头信息(见下文)以及我返回的数据。我想要并呈现给页面的信息位于下面的“li”中。在我想要删除或阻止被包含之后,文档类型中的所有内容,因为它在页面上jeditable就地编辑输入中变得可见。
<li>
<input type="checkbox" name="row" class="checkbox">
<input type ="hidden" name="id" value="60" class="contentId">
<div id="60" class="editable">test Item 4</div>
</li>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html/strict.dtd">
<html>
<head>
<title>Checklists</title>
<link href="http://checklist.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="jquery-1.3.2.min.js"></script>
<script type="text/javascript" src="jquery-ui-1.7.custom.min.js"></script>
<script type="text/javascript" src="jquery.jeditable.js"></scrip >
</head>
<body>
我是否可以删除html头部内容或阻止其与相关信息一起发回?
答案 0 :(得分:1)
只需添加
即可exit;
输出响应数据的文件中的语句。在您输出所有想要的响应主体后直接输出。
简化示例
<?php .... do something do process request ... ?>
<li>
<input type="checkbox" name="row" class="checkbox">
<input type ="hidden" name="id" value="60" class="contentId">
<div id="60" class="editable">test Item 4</div>
</li>
<?php exit; ?>
答案 1 :(得分:0)
你用什么? ASP.NET,PHP?
在编写完所需的响应后,您必须告诉服务器停止处理请求。似乎服务器继续为该URL添加正常的GET / POST内容。 (好像你要提交没有AJAX的表格)
答案 2 :(得分:0)
我使用$ .postJSON而不是$ .post,因为在您的示例中,我总是忘记设置服务器将响应您的请求的数据类型。 JSON类型将帮助您将数据呈现为您喜欢在客户端格式化它。