0

嗨,我一直在阅读这篇文章: asp.net jquery ajax json:交换数据的简单示例

我也在使用相同的代码问题,即我能够将值传递给我的处理程序,当我使用断点在处理程序中看到值时,一切正常,但我没有得到处理程序返回的值我的 javascript 代码是:

 <script type="text/javascript">
     jQuery("#<%=btnsubmit.ClientID %>").click(function () {

         var myData = { "hicode": $('#textbox1 ').val() };

         $.ajax({
             url: "HandlerHinditoEnglish.ashx",
             data: myData,

             type: 'POST',

             success: function (data) {

                 $("#textbox2").val(data);
             },
             error: function (data, status, jqXHR) { alert("FAILED:" + status); }
         });
     });

处理程序代码是

        HttpResponse r = context.Response;
        r.ContentType = "text/plain";

        string Hinditext = string.Empty;
        string Englishtext = string.Empty;
        string myPar = context.Request.Form["hicode"]; 
        Hinditext = myPar;
        Englishtext = hcnvrt.ToEnglish(Hinditext).ToString();

        context.Response.Write(Englishtext); 

我想做的是,如果我在 中输入一些文本textbox1textbox2应该填充相同的值。

4

1 回答 1

0

如果您将 Ajax 代码放入其中,$(document).ready您可以看到它工作正常,但是当您将其放入.click事件中时,它会导致错误。这是因为按钮的默认行为。

为了解决这个问题,您需要在单击时阻止按钮的默认行为,以便将e参数添加到.click函数并添加e.preventDefault(e);.

您的最终代码必须如下所示:

jQuery("#<%=btnsubmit.ClientID %>").click(function (e) {
    e.preventDefault(e);
    var myData = { "hicode": $('#<%=textbox1.ClientID %>').val() };
    $.ajax({
        url: "HandlerHinditoEnglish.ashx",
        data: myData,
        type: 'POST',
        success: function (data) {
            $("#<%=textbox2.ClientID %>").val(data);
        },
        error: function (data, status, jqXHR) { alert("FAILED:" + status); }
    });
});
于 2014-08-24T13:28:53.543 回答