【发布时间】:2014-02-27 15:27:43
【问题描述】:
最近我很困惑是否可以直接发送输入/文本区域数据而不包含在 html <form> 中。我想在网页中,如果我们想从用户那里获取信息然后将文本发送到身份验证服务器,我们必须使用<form>,而不管它是通过哪种方式提交的。
但我的论文的一位匿名审稿人声称,<html> 可以通过使用 html5 标签“textarea”和 JS AJAX 帖子来绕过。虽然我做了很多实验试图实现他的方式,但都失败了。
不知道有没有办法不用<form>标签就可以提交用户信息?
谢谢
感谢大家的回复。
更新:我按照“the_void”的代码,将 AJAX 的 url 更改为 ServerSocket(由 Java 实现)。服务器能够获取 POST 事件,但它无法读取 AJAX 的“数据”。以下是html代码:
HTML
<!DOCTYPE html>
<head>
<meta charset="utf-8" />
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js">
</script>
<script type="text/javascript">
$(document).ready(function() {
$('#submit').click(function() {
// information to be sent to the server
info = $('#foo').val();
$.ajax({
type: 'POST',
url: 'http://10.0.0.3:8888',
data: ({ foo: info }),
// crossDomain: true,
// dataType: 'json'
});
return false;
});
});
</script>
</head>
<body>
<label>Text</label>
<textarea id="foo"></textarea>
<button id="submit">Submit via Ajax</button>
</body>
</html>
socket server 好像不能从 AJAX 读取(但是可以从
【问题讨论】:
-
是的,使用正确的 javascript,您可以提交任何不带
<form>标记的内容。您还可以在 URL 中提交带有$_GET的表单。见:api.jquery.com/jquery.post -
技术上这是可能的——为什么不呢?您可以使用 Javascript 发出大多数(不是全部,但这里没有什么感兴趣的)HTTP 请求,并且您可以访问 textarea 的内容。所以是的,那行得通。问题是:带有表单标签的 rpbolem 是什么?从语义上讲,将它放在那里很有意义:毕竟,用户正在填写表格......
-
没有表单标签的提交信息的方法有很多,ajax只是其中之一。
标签: javascript jquery ajax html