Как отправить объект из одного файла JS в другой файл JS? - PullRequest
1 голос
/ 14 января 2010

Предположим, на веб-странице есть только гиперссылка. Я не использую любую форму. Если пользователь нажимает на эту ссылку. страница будет перенаправлена ​​на другую страницу с объектом JSON. Я должен получить этот объект из файла сценария JS. Как я могу отправить объект из одного js в другой файл js? Я не могу использовать сессию, куки, файл JSP.

Я могу использовать строку запроса, ajax или jquery.

Можно ли отправить объект по строке запроса?

как я могу получить объект из строки запроса?

Ответы [ 3 ]

1 голос
/ 14 января 2010

Вы можете использовать плагин jQuery QueryString: http://plugins.jquery.com/project/query-object

Использование кажется довольно простым, и на странице плагина есть хороший пример.

Кроме того, вы могли бы использовать регулярные выражения для анализа QueryString, но я бы, вероятно, пошел с подходом плагина на вашем месте.

0 голосов
/ 14 января 2010

Вот простой пример, когда объект javascript отправляется с одной веб-страницы на другую. В этом случае объект отправляется в параметрах GET запроса. Первый пример отправит объект при нажатии на ссылку

<html>
 <head>
  <script src="../prototype.js" type="text/javascript"></script>
  <script type="text/javascript">
    Event.observe(window, 'load', function() { 
      sendObject=function(el){
        var myObj = eval('(' + this.readAttribute('obj') +')');
        window.location = 'test.php?obj='+ this.readAttribute('obj');
      }
      $('sendobj').observe('click',sendObject);
    });
  </script>
 </head>
 <body>
  <div id="sendobj" foo="bar" obj="{'id':'3','name':'fred'}">
   Send the object
  </div>
 </body>
</html>

И файл test.php может обрабатывать объект, и при загрузке страницы объект становится доступным.

<html>
 <head>
  <script src="../prototype.js" type="text/javascript"></script>
  <script type="text/javascript">
    Event.observe(window, 'load', function() { 
      var person=<?php echo $_GET['obj'] ?>;
      //and now the object is available in the page that we arrived at
      alert('My name is ' + person.name);
    });
  </script>
 </head>
 <body>
The object is here now  
 </body>
</html>
0 голосов
/ 14 января 2010

Вы можете передать свойства объекта индивидуально с помощью строки запроса, а затем перестроить объект на другой стороне.

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