ASMX:
public class ItemRecord
{
public string model { get;set; }
public string verzia { get;set; }
public string typ { get;set; }
public string motor { get;set; }
}
[WebMethod]
public ItemRecord GetRecord(int id)
{
ItemRecord record = new ItemRecord();
using (SqlConnection sConnection = new SqlConnection(ConfigurationManager.ConnectionStrings["bazarovkyConnectionString"].ToString()))
{
sConnection.Open();
SqlCommand sCommand = sConnection.CreateCommand();
sCommand.CommandText = "select id_model, motor from data_motorizacia where id=@id";
sCommand.Parameters.AddWithValue("@id", id);
SqlDataReader sReader = sCommand.ExecuteReader();
if (sReader.Read())
{
record.model = sReader["id_model"].ToString();
record.motor = sReader["motor"].ToString();
}
}
return record;
}
JQUERY:
id = $("#view_id", row).text();
$.ajax({
type: "POST",
url: "/data.asmx/GetRecord",
data: "{'id':'" + id + "'}",
contentType: "application/json; charset=utf-8",
dataType: "xml",
processData: false,
error: function (XMLHttpRequest, textStatus, errorThrown) { ajaxError(XMLHttpRequest, textStatus, errorThrown); },
success: function (xml) { ajaxFinish(xml); }
});
function ajaxFinish(xml) {
// parse the object
alert($(xml).find("motor").text());
}
我想要做的是在ajaxFinish中读取motor和id_model的值。但它要么返回对象(如果我只引用XML),要么返回未指定或为空。
如何跟踪/调试从.ASMX文件返回的内容?
答案 0 :(得分:2)
我没有复制粘贴你的代码,所以它有点不同但你会得到这个想法......
var arr= new Array();
var loopCounter = 0;
$.ajax({
type: "POST",
url: "yourURL",
dataType: "xml",
success: function(xml) {
$(xml).find('xmlNode').each(function() {
arr[loopCounter] = $(this).find('xmlNode').text();
loopCounter += 1;
});
这里arr是读取值的数组,loopCounter用于存储数组arr中的数据,xmlNode是xml中的节点名称(你得到的响应),你想得到的值是什么
答案 1 :(得分:1)
您可以尝试使用JSON代替xml