您好,我一直在阅读这篇文章: asp.net jquery ajax json: Simple example of exchanging data
我也使用相同的代码问题,我能够将值传递给我的处理程序,当我在处理程序中使用断点查看值时一切正常但我没有得到处理程序返回的值 我的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);
我想要做的是,如果我在textbox1
中输入一些文字,textbox2
应填充相同的值。
答案 0 :(得分: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); }
});
});