如何阻止html标题内容被包含在jquery帖子结果中?

时间:2009-06-20 13:24:48

标签: php jquery html ajax

我正在使用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头部内容或阻止其与相关信息一起发回?

3 个答案:

答案 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类型将帮助您将数据呈现为您喜欢在客户端格式化它。