我的代码是这样的东西,并且成功结果msg.d未定义。我认为它与formdata相关,作为传递给jquery ajax的值。但我不知道我可以解决它。那有什么不对吗?!
var files = event.originalEvent.dataTransfer.files; // i get it in drop event
var data = new FormData();
jQuery.each(files, function (i, file) {
data.append('file-' + i, file);
});
$.ajax({
type: "POST",
url: parameters.Url,
contentType: false,
processData: false,
data: data,
success: function (msg) { //my return value from webservice is just "hello"
alert(msg.d);
}
});
}
答案 0 :(得分:1)
[WebMethod]
public string HelloWorld()
{
xmlDoc.LoadXml("<root><item>Hello World</item></root>");
return xmlDoc.OuterXML;
}
答案 1 :(得分:1)
可以理解, 实际上,您只是从服务器端返回一个字符串。在你的客户端,你试图从ajax返回警告一个参数'd'。这个d根本不存在。
当您发出警告消息时,您将收到消息[object XMLDocument]。如果在ajax调用中指定'dataType:“text”,',则此XML元素可以更改为字符串。
所以请尝试这样。
$.ajax({
type: "POST",
url: parameters.Url,
data: data,
dataType: "text",
success: function (msg) {
alert(msg);
}
});
希望这对你有用。
答案 2 :(得分:0)
您是否能够提醒msg或msg.success?
ajax页面的返回值是多少?
确保你的ajax页面有一个返回参数'd'。
答案 3 :(得分:0)
//my return value from webservice is just "hello"
如果msg
==“你好”;那么msg.d
应该是什么?如果你只是传递一个字符串,我看不到该字符串如何附加.d
属性。