1

私の質問やコードが明確でない場合は、簡単に説明します。

Microsoft トランスレータを使用してページを翻訳しようとしていますが、Ajax 成功の HTML タグでは機能しません:

変換データの制限により、データ変換は正常に機能しています。要素をスライスして innerhtml データを変換するだけで、ページに変換されたデータを Ajax で追加できません。

ajaxの成功で私のコードに何が問題なのか、誰でも助けてくれますか?

$(document).ready(function () {
$('#ContentPlaceHolder1_ddlTranslat').change(function (evt) {
 evt.preventDefault();
 var authToken = $('#ContentPlaceHolder1_token').val();
 var from = 'en';
 var to = 'hi';
 var chunkdata = [];
 var data = $("*");
 var len = data.length;
 len = len / 2;
 len = Math.round(len);

  try {
   var startlen = 0;
   var endlen = 2;
   var endadd = 2;
  for (var i = 1; i <= len + 1; i++)
    {   
      chunkdata.push(data.slice(startlen, endlen));
      startlen = endlen + 1;
      endlen = endlen + endadd;
    }
   }
   catch (e) {
       throw e;
     }

     var divsplit = [];
       $.each(chunkdata, function (i, val) {
     var htmls = '';
       $.each(val, function (j, val2) {
         htmls = val2.innerHTML;
         divsplit.push(htmls);
   });
});

$("html").html('');
$.each(divsplit, function (i, val) {
if (divsplit[i] != "") {
  var data1 = {
  appId: 'Bearer ' + authToken,
  contentType: 'text/html',
  };
  $.ajax({
  url: "https://api.microsofttranslator.com/V2/Ajax.svc/Translate?text=" + divsplit[i] + "&from=" + from + "&to=" + to + "",
  dataType: 'json',
  data: data1,
  json: 'oncomplete',
  success: function (jqXHR, textStatus, errorThrown) {
  var $dom = $(document.createElement("html"));
  var appen = $dom.filter('html').append(jqXHR);
 },
  error: function (jqXHR, textStatus, errorThrown) {
   console.log('fail', this, jqXHR, textStatus, errorThrown);
     }
   });
   }
  });
 });
});

ここに画像の説明を入力

ここに画像の説明を入力

4

3 に答える 3

0

これを置き換えます:

success: function (jqXHR, textStatus, errorThrown) {
  var $dom = $(document.createElement("html"));
  var appen = $dom.filter('html').append(jqXHR);
}

これで:

success: function (jqXHR, textStatus, errorThrown) {
  $("html").replaceWith(jqXHR);
}

私がコードで見た他のいくつかの問題は、最初に...あなたが欠落しているappId.

第二に、答えは、JSONページ全体が文字列にスワップアウトされる可能性があることを意味しますJSON

うまくいくかどうかお知らせください。

于 2015-11-19T16:11:43.300 に答える
0

試しましたか

$(document).createElement("html")

それ以外の

$(document.createElement("html"))

また、jquery を使用して要素を作成する場合は、次を使用できます。

$(document).create("html")

于 2015-11-17T08:45:10.393 に答える