0

我有这个表格:

<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"];}

因为我做测试。

这是我第一次使用 Web 服务。

我的问题是,我不能使用网络服务,我不知道为什么

4

2 回答 2

1

反正你都在用jQuery,既然jQuery有一个优秀的跨浏览器功能,为什么还要编写自己的ajax$.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 元素,但这是行不通的。

于 2013-06-12T15:15:57.107 回答
0

要将其发送到 Web 服务,您应该使用POST而不是GET.

于 2013-06-12T15:15:48.767 回答