0

私のコードはこのようなものであり、成功した結果msg.dは未定義です。jqueryajaxに渡される値としてformdataに関連していると思います。しかし、私はそれを解決できるかわかりません。それの何が問題になっていますか?!

  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);
    }
  });
 }
4

4 に答える 4

1
[WebMethod] 
public string HelloWorld() 
{ 
   xmlDoc.LoadXml("<root><item>Hello World</item></root>");
   return xmlDoc.OuterXML;
}
于 2012-08-20T09:43:31.090 に答える
1

上記のコメントから、あなたは実際にサーバー側から文字列だけを返していることを理解できます。そして、クライアント側では、ajaxリターンから引数「d」を警告しようとしています。このdはまったく存在しません。

メッセージを警告すると、メッセージ[objectXMLDocument]が表示されます。ajax呼び出しで'dataType: "text"、'を指定すると、このXML要素は文字列に変わる可能性があります。

なので、このようにしてみてください。

  $.ajax({
    type: "POST",
    url: parameters.Url,
    data: data,
    dataType: "text",
    success: function (msg) {       
      alert(msg);
    }
  });

これがうまくいくことを願っています。

于 2012-08-20T09:43:38.180 に答える
0

msgまたはmsg.successにアラートを送信できますか?

ajaxページからの戻り値は何ですか?

ajaxページからの戻り引数「d」があることを確認してください。

于 2012-08-20T09:24:37.127 に答える
0
 //my return value from webservice is just "hello"

If msg=="こんにちは"; では、どうあるべきmsg.dでしょうか?.d結果として文字列のみを渡す場合、その文字列にプロパティをアタッチする方法がわかりません。

于 2012-08-20T09:40:50.913 に答える