C# jQuery、ajax POST方法成功返回:未定义
我的脚本代码:C# jQuery、ajax POST方法成功返回:未定义,c#,jquery,asp.net,ajax,C#,Jquery,Asp.net,Ajax,我的脚本代码: $('#btnSave').click(function() { var pageUrl = '<%= ResolveUrl("~/TestPage.aspx/SystemEdit")%>'; var ip = $('#editIP').text(); var loc = $('#txtBay').val(); var team = $('#txtTeam').val(); var port = $('#txtPort').va
$('#btnSave').click(function() {
var pageUrl = '<%= ResolveUrl("~/TestPage.aspx/SystemEdit")%>';
var ip = $('#editIP').text();
var loc = $('#txtBay').val();
var team = $('#txtTeam').val();
var port = $('#txtPort').val();
var xcel = "", office = "", moni = "";
var parameter={ "ip": ip, "loc": loc, "team": team, "port": port, "excel": xcel, "office": office, "monitor": moni}
$.ajax({
type: 'POST',
url: pageUrl,
data: JSON.stringify(parameter),
contentType: 'json',
success: function(data) {
alert(data);
},
error: function(data,success,error) {
alert("Error:" +error);
}
});
});
我的页面名是:TestPage.aspx
单击“保存”按钮时,我得到“未定义”。我无法从c#背后的代码中获取当前时间。您需要返回json结果,如下所示:
return JsonConvert.SerializeObject("The Current Time is: "+ DateTime.Now.ToString());
也可将以下属性置于方法之上:
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
当您指定json格式时,您应该写:
contentType: "application/json; charset=utf-8",
顺便说一下,您应该在这里使用Web服务 我想设置
json
内容类型应该这样做:
contentType: 'application/json',
如果您使用的是vs2013,请确保禁用route.config中的下一行以使其正常工作
'settings.AutoRedirectMode = RedirectMode.Permanent
我的VB代码隐藏:
<WebMethod()>
Public Shared Function GetReport(ByVal Data As String) As String
Try
Return "Hello" + Data
Catch ex As Exception
Return "Failed"
End Try
End Function
contentType:'json',
指定您希望返回结果为json
,但您将其作为string
传递。更改内容类型:“文本”并检查一次!结果的内容类型是什么?当通过浏览器访问结果时,您是否验证了它是否返回了您期望的结果?使用Newtonsoft.Json使用代码>我重写了contentType:“application/json;charset=utf-8”,。现在它工作得很好!谢谢!很高兴它帮助了SarathJasrin
<WebMethod()>
Public Shared Function GetReport(ByVal Data As String) As String
Try
Return "Hello" + Data
Catch ex As Exception
Return "Failed"
End Try
End Function
$('#btnSave').click(function () {
var char = $(this).text();
var SendData = {};
$.ajax({
type: "POST",
url: "TEST.aspx/GetReport",
data: JSON.stringify(SendData),
data: "{ 'Data': '" + char + "'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
$('#lbl_test').text(data.d);
},
error: function (data, success, error) {
alert("Error:" + error);
}
});
});