HTML表单w / method =“get”VS. JQuery $ .get

时间:2010-09-17 12:05:04

标签: jquery html

我有一个为Web服务器运行httpd的嵌入式应用程序。在主页面上我有两个按钮。一个使用JQuery添加具有以下代码的click事件:

  。

$得到( “example.cgi”);

另一个按钮是空白表单的提交按钮(即除了表单标签和输入类型=“提交”,表单不包含任何字段)。表单的方法设置为“get”,操作设置为“example.cgi”。当我按下按钮1时,脚本失败。当我按下按钮2时,嵌入式设备会相应地做出响应。

我真的很想在整个项目中使用JQuery(例如,特别是所以我不必在我的页面上都有空白表单......),但我无法弄清楚空白表单之间的区别使用方法“get”和JQuery $ .get();.有谁知道可能会发生什么?

更新:

完整的html和js代码 -

<!doctype html>
<html>
<head>
<title>LCRFLC on the WEB</title>
<script type="text/javascript" src="jquery/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function()
{
    // add click events
    $("#off").click(function(event)
    {
        $.get("rflcc.cgi", { cmd: "RAMP", lvl: "0" } );
    });
    $("#fon").click(function(event)
    {
        $.get("rflcc.cgi"); 
    });
});
</script>
</head>
<body>
<h1>TEST PAGE FOR RFLC CONTROL AND STATUS</h1>
<input type="button" value="Off" id="off">
<input type="button" value="Full On" id="fon">
<form method="get" action="rflcc.cgi" id="alt" name="alt">
alternate method
<input type="submit" value="Another try" name="altsubmit">
</form>
<br>
<textarea cols="80" rows="50"></textarea>
</body>
</html>

现在可能需要更多解释,所以我会稍作尝试。两次点击事件不同的唯一原因是我可以尝试两个不同的东西,一次加载(bc我必须每次用这个静态代码刷新嵌入式设备......)。但是这些get事件中的方法都不起作用。然而,空白表格是否正常工作,我原来的问题是该空白表格和jquery在“fon”按钮的点击事件中的区别是什么?我以为他们应该表现得一样......

2 个答案:

答案 0 :(得分:3)

您确定正确使用$.get吗?它异步提取页面并执行您指定的回调函数。另一方面,当提交空表单时,页面会被更改。

这对你有用。

HTML

<button id="get">Get</button>
<div id="target"></div>

Javascript

$('#get').click(function() {
    $.get('example.cgi', function(data) {
        $('#target').html(data);
    });
});

答案 1 :(得分:1)

正如@Nithesh评论的那样,当你没有收到信息时,$ .post()确实是工作的正确工具。作为奖励,POST请求永远不应该被浏览器缓存,但GET请求可以是,理论上可能是你的问题。

此外,您的空白表单并非真正空白 - 提交按钮的名称和值将作为参数提交。您的cgi脚本可能是问题所在吗?这似乎不太可能,但我不得不问......

出于诊断目的,您可能希望执行以下操作:

$("#fon").click(function(event) {
    $.post("rflcc.cgi", function() { alert "Done!"; });  
});

这将告诉您该请求是否正在发生。如果您还没有,请查看Firefox的FireBug插件作为帮助诊断Ajax内容的工具。