2011-10-21 65 views
0

我想注入一個html字符串到一個div,但我有問題。我傳遞的csharp方法的返回結果並不是什麼顯示在div中。.ajax html注入

JavaScript函數...

$.ajax({ 
    type: "POST", 
    url: "MainPage.aspx/mapBuildLegend", 
    data: dataOut, 
    contentType: "application/json; charset=utf-8", 
    dataType: "text", 
    success: function (text) { $('#divLegend').html(text); }, 
    error: function() { alert('Could Not Load Legend!'); } 
}); 

字符串在C夏普的Web方法返回

"<table><tr><th>Color</th><th>Range</th></tr><tr><td><div class='divColorSwatch' style='background-color:#D3D3D3;'></div></td> <td> <div class='divColorLabel''>0 To 4.9999</div></td></tr><tr><td><div class='divColorSwatch' style='background-color:#FFC8C8;'></div></td> <td> <div class='divColorLabel''>5 To 9.9999</div></td></tr><tr><td><div class='divColorSwatch' style='background-color:#FF9696;'></div></td> <td> <div class='divColorLabel''>10 To 14.9999</div></td></tr><tr><td><div class='divColorSwatch' style='background-color:#FF6464;'></div></td> <td> <div class='divColorLabel''>15 To 19.9999</div></td></tr><tr><td><div class='divColorSwatch' style='background-color:#FF3232;'></div></td> <td> <div class='divColorLabel''>20 To 24.9999</div></td></tr><tr><td><div class='divColorSwatch' style='background-color:#FF0000;'></div></td> <td> <div class='divColorLabel''>25 To 100</div></td></tr></table>" 

什麼在我的div結束了......

{"d":"\u003ctable\u003e\u003ctr\u003e\u003cth\u003eColor\u003c/th\u003e\u003cth\u003eRange\u003c/th\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cdiv class=\u0027divColorSwatch\u0027 style=\u0027background-color:#D3D3D3;\u0027\u003e\u003c/div\u003e\u003c/td\u003e \u003ctd\u003e \u003cdiv class=\u0027divColorLabel\u0027\u0027\u003e0 To 4.9999\u003c/div\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cdiv class=\u0027divColorSwatch\u0027 style=\u0027background-color:#FFC8C8;\u0027\u003e\u003c/div\u003e\u003c/td\u003e \u003ctd\u003e \u003cdiv class=\u0027divColorLabel\u0027\u0027\u003e5 To 9.9999\u003c/div\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cdiv class=\u0027divColorSwatch\u0027 style=\u0027background-color:#FF9696;\u0027\u003e\u003c/div\u003e\u003c/td\u003e \u003ctd\u003e \u003cdiv class=\u0027divColorLabel\u0027\u0027\u003e10 To 14.9999\u003c/div\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cdiv class=\u0027divColorSwatch\u0027 style=\u0027background-color:#FF6464;\u0027\u003e\u003c/div\u003e\u003c/td\u003e \u003ctd\u003e \u003cdiv class=\u0027divColorLabel\u0027\u0027\u003e15 To 19.9999\u003c/div\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cdiv class=\u0027divColorSwatch\u0027 style=\u0027background-color:#FF3232;\u0027\u003e\u003c/div\u003e\u003c/td\u003e \u003ctd\u003e \u003cdiv class=\u0027divColorLabel\u0027\u0027\u003e20 To 24.9999\u003c/div\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cdiv class=\u0027divColorSwatch\u0027 style=\u0027background-color:#FF0000;\u0027\u003e\u003c/div\u003e\u003c/td\u003e \u003ctd\u003e \u003cdiv class=\u0027divColorLabel\u0027\u0027\u003e25 To 100\u003c/div\u003e\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e"} 

謝謝你的任何幫助,

Eric

回答

1

看起來它正在返回JSON。嘗試

$('#divLegend').html(text.d); 

UPDATE

如果不工作,那麼你只是需要返回的文本轉換成JSON對象第一:

var jText = JSON.parse(text); 
$('#divLegend').html(jText.d); 
+0

不,沒有回來,如果我嘗試。也不,如果我使用HTML而不是文本作爲返回類型... – eshepard

+0

更新 - 只是將返回的字符串轉換爲公認的JSON –

0

text對象在你成功功能實際上是一個集合。嘗試將d對象內容放入div中。即:

success: function (text) { $('#divLegend').html(text.d);