Javascript 在html中捕获表单响应
我在html页面中有一个表单,我尝试使用AJAX捕获响应,但不知何故,我没有将请求发送到服务器。我错在哪里Javascript 在html中捕获表单响应,javascript,jquery,html,ajax,Javascript,Jquery,Html,Ajax,我在html页面中有一个表单,我尝试使用AJAX捕获响应,但不知何故,我没有将请求发送到服务器。我错在哪里 <html> <head> <script> $(function() { $(".button").click(function() { var clin=$("input#client").val(); var us=$("input#username").val(); var dataString='client='+cli
<html>
<head>
<script>
$(function() {
$(".button").click(function() {
var clin=$("input#client").val();
var us=$("input#username").val();
var dataString='client='+clin+'&username='+us;
$.ajax({
type: "POST",
url: "http://localhost:8080/services/web?wsdl/authen",
data: dataString,
success: function(response) {
alert("The server says: " + response);
}
});
return false;
});
});
</script>
</head>
<body>
<div id="myform">
<form name="frm1">
<table>
Enter Your User Account:
<tr>
<td>Client ID</td>
<td>
<input class="text-input" type="text" size="30" name="client" id="client">
</td>
</tr>
<tr>
<td>User ID</td>
<td>
<input class="text-input" type="text" size="30" name="username" id="username">
</td>
</tr>
<tr>
<td></td>
<td align="right">
<input type="submit" name="submit" value="get" class="button" id="submit_btn">
</td>
</tr>
</table>
</form>
</div>
</body>
</html>
$(函数(){
$(“.button”)。单击(函数(){
var clin=$(“输入#客户端”).val();
var us=$(“输入#用户名”).val();
var dataString='client='+clin+'&username='+us;
$.ajax({
类型:“POST”,
url:“http://localhost:8080/services/web?wsdl/authen",
数据:dataString,
成功:功能(响应){
警报(“服务器说:“+响应”);
}
});
返回false;
});
});
输入您的用户帐户:
客户端ID
用户ID
我想用AJAX捕获表单响应,但不确定是否正确?我提供我的服务器web服务:
xs:element name="authen"> <br>
xs:complexType> <br>
xs:sequence> <br>
xs:element name="ClientID" type="xs:string" nillable="true" minOccurs="0"/> <br>
xs:element name="UserID" type="xs:string" nillable="true" minOccurs="0"/> <br>
/xs:sequence><br>
/xs:complexType><br>
/xs:element><br>
xs:element name="authenResponse"><br>
xs:complexType><br>
xs:sequence><br>
xs:element name="return" type="xs:string" nillable="true" minOccurs="0"/><br>
xs:sequence><br>
xs:complexType><br>
xs:element><br>
xs:element name=“authen”>
xs:complexType>
xs:sequence>
xs:element name=“ClientID”type=“xs:string”nillable=“true”minOccurs=“0”/>
xs:element name=“UserID”type=“xs:string”nillable=“true”minOccurs=“0”/>
/xs:sequence>
/xs:complexType>
/xs:element>
xs:element name=“authenResponse”>
xs:complexType>
xs:sequence>
xs:element name=“return”type=“xs:string”nillable=“true”minOccurs=“0”/>
xs:sequence>
xs:complexType>
xs:element>
删除以下行:
document.getElementById("frm1").submit();
您使用的是ajax,因此不需要使用submit()
提交表单。
此外,没有id为
frm1
的表单,因此会发生错误TypeError:Cannot call方法'submit'为null
,并停止脚本。如果您添加了jQuery源文件,则忽略此错误
<script type="text/javascript" src="/path/to/jquery.min.js"></script>
在启动
标记之后添加这样的脚本标记
您应该下载jQuery文件并将其放置到相应的文件夹结构中
这是最新版本的您可以手动提交表单,从而重定向页面。按照xdazz的说明,您确实更改了frm1的。现在它工作了吗?只是为了确认一下,您添加了jQuery库文件了吗?是的,我遵循了xdazz的指示,但没有工作。是的,我添加了jQuery库。顺便说一下,我正在使用eclipse。在您选择的inspect中打开network选项卡(您必须在Chrome inspector中启用AJAX日志)。它曾经请求过URL吗?正如你所说,我删除了上面的标记,但它仍然是一样的,没有与我的服务器通信没有错误。因此,当我单击按钮时,我的服务器没有连接。我尝试了,它可以调用服务器。我错过了一个冒号。谢谢但是,我的服务器响应为空白页,它应该响应为有一些值。如何显示输出值?添加
数据类型:“xml”,
和其他参数,并写入console.log(响应)代码>在success
中,并检查我得到了以下错误:路径为[/services]的上下文中Servlet[AxisServlet]的Servlet.service()抛出异常java.lang.StringIndexOutOfBoundsException:字符串索引超出范围:-1表示我的传入值错误?您传递的参数在service()
中可能有错误。