Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.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/jquery中的querystring_Javascript_Jquery_Html - Fatal编程技术网

捕获“;表格数据“;而不是javascript/jquery中的querystring

捕获“;表格数据“;而不是javascript/jquery中的querystring,javascript,jquery,html,Javascript,Jquery,Html,我正在尝试一些不同的方法来检查它是否可行。否则,最好的替代方法是使用querystring发送数据 我有一个html页面,上面有学生名单。当用户单击特定学生进行编辑时,此html页面应获取学生ID并重定向到另一个html页面,该页面将加载相应的学生详细信息进行编辑 在这里,我想使用“POST”方法发送数据,以从URL隐藏studentID(querystring),因此我在列表html上创建了一个Hinden表单(method=“POST”action=“edit.html”),并在其下放置一个

我正在尝试一些不同的方法来检查它是否可行。否则,最好的替代方法是使用querystring发送数据

  • 我有一个html页面,上面有学生名单。当用户单击特定学生进行编辑时,此html页面应获取学生ID并重定向到另一个html页面,该页面将加载相应的学生详细信息进行编辑

  • 在这里,我想使用“POST”方法发送数据,以从URL隐藏studentID(querystring),因此我在列表html上创建了一个Hinden表单(method=“POST”action=“edit.html”),并在其下放置一个隐藏字段。在列表上编辑按钮的lcik上,我正在将值设置为隐藏字段并提交表单

  • 现在,这将正确地重定向到编辑html页面,并且当我在chrome developer工具中看到此流时,我可以在Header部分-表单数据下看到此表单值。现在,我正在尝试在编辑html页面加载上对表单数据进行匹配,例如在JQuery中的document ready函数下或在javascript中的simple中

  • 使用可选选项,如果我创建Hinden表单(method=“GET”action=“edit.html”),那么我正在设置的隐藏字段值将显示在查询字符串和chrome developer工具中,它将显示在标题-查询字符串参数下。可以使用location.search轻松访问此查询字符串参数,然后进行播放,并将获得预期值

  • 这里我只是举个例子,但在实际场景中,我需要发送多个值,或者可能是我不想通过查询字符串发送的对象。所以我想用POST方法提交表单,并通过jquery上的javascript在下一个HTML页面加载时检索值

  • HTML

    <form style="display: none" action="jquerywebapidoestudenteditpoc.html" method="post" id="formEdit"> <input type="hidden" id="id" name="id" value="" /> </form>
    
    $(document).on("click", ".edit", function () { var id = $(this).data("id"); $("#id").val(id); event.preventDefault(); $("#formEdit").submit(); });
    

    如果有人遇到这种情况或以非常恰当的方式实施,那将是非常好的

    换言之,我想实施的是:

  • list.html将数据发布到服务器(
    .NET Web API
  • 同时list.html将重定向到edit.html
  • 加载edit.html后,来自服务器的响应将加载到页面上
    查询字符串是随后加载的页面(或任何其他资源)的“标识符”的一部分。因此,可以从页面访问它。POST请求主体中发送的数据是不同的-它们仅用于服务器,并且无法从随后加载的页面访问

    但是,如果希望使使用POST发送的数据可用于下一页,则始终可以手动将其注入该页。使用PHP(作为一个示例),它可能看起来像这样:

    <script type="text/javascript">
        var postData = <?php json_encode($_POST); ?>;
    </script>
    
    
    var-postData=;
    


    如果您只想将数据从一个页面传递到另一个页面,而不使用服务器,您可以使用
    GET
    (查询字符串)进行公开通信,也可以使用cookie进行“隐藏”通信。

    b实际上,我在浏览了很多博客和网站后了解到,我必须有一个客户端控制器(基于javascript)它将负责加载和发布数据的视图。 我可以使用AngularJS实现这一点,在这里我可以为路由进行配置,同样,我可以在另一个视图/表单(所谓的页面)上发布数据并接收其任何输出

    e、 g


    AngularJS岩石

    向我们展示您的jquery代码/我不相信您能够以这种方式读取后续页面上的表单/发布数据。它通常由服务器处理,在服务器上执行的任何操作都会将结果注入到下一页的响应中。请注意,
    POST
    请求不被认为是安全的,因此,当您重新加载页面时,许多浏览器会提示您重新发布数据(或者根本没有这样做)。与
    GET
    相反,按照惯例,您应该能够多次发送相同的请求,而不会引起任何更改。@JamesThorpe,我是通过
    jQuery
    .NET Web API
    实现的。这将是伟大的,如果你能给我任何指针,如何可以实现这一点,根据你的评论。我将从那里开始。@Avinash您可能想这样做-这是一个包含从第一页发布的数据的集合。我在纯
    HTML/JQuery
    中所做的一切都可以被视为
    VIEW
    而不想使用
    PHP或ASP
    语言块。@Avinash我的回答似乎详尽无遗
    POST
    用于与服务器交互。如果不控制服务器,请不要使用
    POST
    。如果您想要隐藏页间通信,您可能需要研究使用cookie。(我已经编辑了我的答案,将其包括在内。)
    $routeProvider.when("/orders", {
            controller: "ordersController",
        templateUrl: "/app/views/orders.html"
    });