0

私は Ajax と javaqscript が初めてです。

Jsonを介して画像パスを含むリストを返しています。画像を表示する方法を誰か教えてもらえますか?

Ajax 呼び出しを使用してデータをロードしています。

Ajax Call
var TableHeaderArray = ["Person", "Details"]; 
$.ajax({
url: '/Home/Persondetails',
type: 'POST',
dataType: "json", 
beforeSend: function () {
},
success: function (response) {
$('#Person').append(CreateHTMLTableFromJSON(response, "lightPro", TableHeaderArray)).fadeIn();
},
error: function (error) {
alert(error);
}
});

コントローラ

[HttpPost]
public ActionResult Persondetails()
{
SqlConnection con = new SqlConnection();
con.ConnectionString = ConfigurationManager.ConnectionStrings["PersonConnectionString"].ConnectionString;
con.Open();
SqlCommand cmd = new SqlCommand("GetDetails", con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.ExecuteScalar();
DataSet ds = new DataSet();
SqlDataAdapter sda = new SqlDataAdapter(cmd);
sda.Fill(ds);
List<Person> Details = new List<Person>();
foreach (DataRow dr in ds.Tables[0].Rows)
{
Details.Add(new Person()
{
Id = dr["Id"].ToString(),
Name = dr["Name"].ToString(),
Age = dr["Age"].ToString(),
Job = dr["Job"].ToString(),
images = dr["Images"].ToString(),
});
}
return Json(Details);
}
4

1 に答える 1

0

この方法の例:

$.ajax({
       url: 'some_url',
       success: function(data) {
          // Here will be image inserting
        }
  });

現在、2 つのケースがあります。

1) この画像 (例えば id = imagId を持つ) はすでにあなたのページにあります。この場合、successコールバックで次のことを行う必要があります。

$('#imgId').attr('src', data.imageUrl);

2) ページに新しい画像を挿入する必要があります。したがって、この場合、successコールバックは次のようになります。

var img = $('<img/>', {'src': data.imageUrl} );  
$('#whereToInsertId').append(img);

それはうまくいくはずです;)

于 2012-09-29T10:05:59.957 に答える