$(document).ready(function() {
$.ajax({ type: "POST",
url: "/getprojects.ashx",
data: "<formData client=\"\" year=\"\" categories=\"\" tags=\"\" freeText=\"\" count=\"34\" page=\"1\"></formData>",
dataType: "text/xml",
cache: false,
error: function() { alert("No data found."); },
success: function(xml) {
alert("it works");
alert($(xml).find("project")[0].attr("id"));
}
});
});
My problem is i get some data back but i can't seem to get it displayed.
dataType
should be the type of what you receive but contentType
should be the mime-type of what you are sending, the following should be ok:
$(document).ready(function() {
$.ajax({ type: "POST",
url: "/getprojects.ashx",
data: "<formData client=\"\" year=\"\" categories=\"\" tags=\"\" freeText=\"\" count=\"34\" page=\"1\"></formData>",
contentType: "text/xml",
dataType: "xml",
cache: false,
error: function() { alert("No data found."); },
success: function(xml) {
alert("it works");
alert($(xml).find("project")[0].attr("id"));
}
});
});
Your dataType
seems to be wrong. It should look like
dataType: "xml"
Your data
structure also looks pretty wierd. Have a look at .serializeArray(). It should be standard query string foo=bar&test=bla etc.
If the success handler
gets executed, try to lookup your xml
variable plain, without
operating on it with .find()
or whatever. Still empty?
来源:https://stackoverflow.com/questions/3099369/jquery-ajax-post-to-web-service