JQuery Eval Javascript файл - PullRequest
       12

JQuery Eval Javascript файл

0 голосов
/ 15 ноября 2011

Как мне использовать jQuery для отправки запроса и просмотра результата.

У меня есть файл format.js, который возвращает что-то вроде этого, если я ввожу его в URL браузера.

document.write( '<object    id="player" name="YOUniversityTVPlayer"    type="application/x-shockwave-flash"    allowFullScreen="true">' );

и я использую:

$.post(
    "format.js", function(data) {alert("success");alert(data);}
);

И я хочу, чтобы в оповещении отображался результат запроса, результат format.js

Ответы [ 2 ]

1 голос
/ 15 ноября 2011

Просто удалите document.write в загруженном скрипте! Когда ваш скрипт оценивается как $.post, фактическое значение параметра data является результатом последнего выражения выражения вашего скрипта. В качестве примера рассмотрим это:

val r = eval("dosomethingelse(); 42"); // r is 42

Если по какой-либо причине вы не можете изменить загруженный скрипт, вы всегда можете взломать document.write:

var oldwrite = document.write;
var mypreciousdata;
document.write = function (data) {mypreciousdata = data;}
// your $.post here
document.write = oldwrite;

Но я осуждаю подобные действия ...

0 голосов
/ 15 ноября 2011

Может быть, вы должны сделать что-то другое, как сохранение

<object    id="player" name="YOUniversityTVPlayer"    type="application/x-shockwave-flash"    allowFullScreen="true">

в файле фрагмента .html и получите его, используя $ .ajax, а затем используйте фрагмент

$.ajax({
  url: "fragment.html",
  dataType: "html",
  method: "post",
  success: function(data, textStatus, jqXHR){
     alert(data);
     //use the html
     $('#result').html(data);
  });

Вы также можете использовать «скрипт» в качестве dataType, чтобы скрипт оценивался на ходу, но, конечно, вам нужно изменить свой скрипт

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...