我有这样的表格:
<form action="#" method="post" id="cen" runat="server">
<table>
<thead>
<tr>
<th>Contacto</th>
<th>Fecha</th>
<th>Hora</th>
<th >Mensaje</th>
</tr>
</thead>
<tbody>
<tr>
<td><input name="user[]" id="correo" type="email" placeholder="contacto@correo.com" style="width: 10em;"></td>
<td><input name="date[]" id="fecha" type="date" data-role="datebox" data-options='{"mode": "calbox"}'></td>
<td><input name="hour[]" id="hora" type="text" data-role="datebox" data-options='{"mode": "timebox", "overrideTimeFormat": 12}'></td>
<td><textarea name="mensaje[]" id="mensaje" placeholder="Su mensaje Aqui" style="width: 15em; max-width: 15em;"></textarea></td>
</tr>
</tbody>
<tfoot>
<tr>
<td><input type="submit" value="Enviar" /></td>
</tr>
</tfoot>
</table>
</form>
我有一个克隆该表单的按钮,因此用户可以发送元素数组。
我的问题:如何使用JQuery将该数组发送到Web服务?我现在有这个:
<script>
$("form").submit(function (event) {
event.preventDefault();
var result = new XMLHttpRequest;
var URL = "checkMessage.ashx?sendTo=" + $('#correo').val() + "&dateIn=" + $('#fecha').val() + "&hourIn=" + $('#hora').val() + "&messageIn=" + $('#mensaje');
result.open("GET", URL, false);
result.send;
var resultString = JSON.parse(result.responseText);
// var resultString = JSON.parse(result.responseText);
if (resultString.respuesta == 1)
{
alert("Su mensaje fue enviado");
}
})
</script>
但是网络服务没有收到任何内容。
目前在我的网络服务中我只有这些:
public void ProcessRequest (HttpContext context) {
string[] destinatario;
string respuesta;
respuesta = context.Request.QueryString["sendTo"];}
因为我正在进行测试。
这是我第一次使用网络服务。
我的问题是,我无法使用网络服务,而且我不知道是不是
答案 0 :(得分:1)
当你正在使用jQuery时,为什么你会编写自己的ajax函数,当jQuery具有出色的跨浏览器$.ajax
函数时?
$("form").on('submit', function(e) {
e.preventDefault();
$.ajax({
url : 'checkMessage.ashx',
data: {
sendTo: $('#correo').val(),
dateIn: $('#fecha').val(),
hourIn: $('#hora').val(),
messageIn: $('#mensaje').val()
}
}).done(function(data) {
console.log(data);
});
});
我猜你的网络服务器已设置为接收GET请求,并使用您发送的数据,而且由于您没有包含任何代码,因此无法回答?
另请注意,在最后一个参数"&messageIn=" + $('#mensaje');
上,您尝试发送一个DOM元素,但这不起作用。
答案 1 :(得分:0)
要将其发送到网络服务,您应该使用POST
代替GET
。