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>

しかし、Web サービスは何も受け取りません。

今のところ、私のWebサービスには次のものがあります。

 public void ProcessRequest (HttpContext context) {

    string[] destinatario;
    string respuesta;
    respuesta = context.Request.QueryString["sendTo"];}

テストをしているからです。

Webサービスを扱うのはこれが初めてです。

私の問題は、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 に答える