ajax post请求输出undefined [英] ajax post request outputting undefined
本文介绍了ajax post请求输出undefined的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试创建一个跨域的ajax POST调用但是当我在下面运行ajax函数时,它将输出显示为'undefined'而不是数据库中的数据。
I am trying to create a cross domain ajax POST call but when I run the ajax function below, it displays output as 'undefined' instead of the data from the database.
<script type="text/javascript">
$(document).ready(function () {
$.support.cors = true;
$.ajax({
type: "POST",
crossDomain: true,
contentType: "application/json; charset=utf-8",
url: "home.aspx/BindDatatable",
data: "{}",
dataType: "json",
success: function (data) {
for (var i = 0; i < data.d.length; i++) {
$("#tbDetails").append("<tr><td>" + data.d[i].Name + "</td><td>" + data.d[i].Ln+ "</td><td>" + data.d[i].Events + "</td></tr>");
}
},
error: function (result) {
alert("Error");
}
});
});
</script>
更新 服务器端方法:
Updated Server side method:
[WebMethod]
public static string BindDatatable()
{
DataTable dt = new DataTable();
List<UserDetails> details = new List<UserDetails>();
using (SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["######"].ConnectionString))
{
using (SqlCommand cmd = new SqlCommand("############", con))
{
con.Open();
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(dt);
foreach (DataRow dtrow in dt.Rows)
{
UserDetails user = new UserDetails();
user.Name = dtrow["###"].ToString();
user.Ln = dtrow["###"].ToString();
user.Events = dtrow["###"].ToString();
details.Add(user);
}
}
}
JavaScriptSerializer serializer = new JavaScriptSerializer();
return serializer.Serialize(details);
}
任何帮助,关于如何使上述功能正常工作。我是否需要在服务器端进一步定义跨域标头,如果是这样,任何进一步的示例都将非常有用。
谢谢
any help, as to how I can make the above function work. Do I need further define the cross domain headers on my server side, if so, any further examples would be very beneficial.
Thank you
推荐答案
( document )。ready( function (){
(document).ready(function () {
.support.cors = true ;
.support.cors = true;
.ajax({
type: POST,
crossDomain: true ,
contentType: application / json; charset = utf-8,
url: home.aspx / BindDatatable,
data: { },
dataType: json,
成功: function (data){
for ( var i = 0 ;我< data.d.length; i ++){
.ajax({ type: "POST", crossDomain: true, contentType: "application/json; charset=utf-8", url: "home.aspx/BindDatatable", data: "{}", dataType: "json", success: function (data) { for (var i = 0; i < data.d.length; i++) {
这篇关于ajax post请求输出undefined的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文