What do you mean? Could you provide an example of the content of your
response and what you want to do with it?

You cannot call a function from inside the response html data before
it reaches the browser. It has to reach the browser first because the
browser does the Javascript work. If you want to do it before then,
you'd have to do it server-side before sending the response.

On Mar 26, 2:14 am, Amit Shah <[email protected]> wrote:
> you didn't get it.
> i mean the function written in response text. which has be evaluated.
> can be called only from the main script. not from inside the responsed
> html data.
>
> On Mar 24, 8:07 pm, mkmanning <[email protected]> wrote:
>
> > If you're going to use jQuery, you have to be careful about writing
> > code that then doesn't use jQuery. In this case, you're ajax call
> > would have worked fine, if you had stuck with injecting the response
> > into the DOM with jQuery, as it automatically evals scripts in a
> > response with dataType of 'html'.
>
> > Change:
> > contentDiv.innerHTML = data
>
> > to (with the appropriate selector for your div):
> >  $('div').html(data);
>
> > On Mar 24, 3:44 am, Amit Shah <[email protected]> wrote:
>
> > > it's not working.
>
> > > well eval(responseText); don't works.
>
> > > cells = divResult.getElementsByTagName("script");
> > >                         alert(cells.length);
> > >                         for (var i = 0; i < cells.length; i++)
> > >                         {
> > >                                 alert(cells[i].innerHTML);
> > >                             eval(cells[i].innerHTML);
> > >                     }
> > >                     sometesting(5);
>
> > > is working.
> > > but when the function sometesting() being called somewhere from
> > > ajaxresponse text, browser gives error. both ie and firefox.
>
> > > On Mar 15, 7:47 am, NightWatchman <[email protected]> wrote:
>
> > > > To execute javascript code returned by the server you need to use the
> > > > javascript eval function on the string of script returned from the
> > > > server. As far as I know changing the content of a div to a javascript
> > > > block won't cause that javascript code to execute.
>
> > > > I think you need to change:
>
> > > > contentDiv.innerHTML = data;
>
> > > > to
>
> > > > eval(data);
>
> > > > On Mar 14, 3:12 pm, Foreigner <[email protected]> wrote:
>
> > > > > Hi,
> > > > > I'm trying to use jQuery to get some HTML with Javascript using AJAX.
> > > > > My response gets inserted into the contentDiv element but my
> > > > > javascript inside the response doesn't get executed as the
> > > > > documentation says (http://docs.jquery.com/
> > > > > Specifying_the_Data_Type_for_AJAX_Requests).
>
> > > > > Here goes my function with AJAX call:
>
> > > > > function loadHtml(obj)
> > > > > {
> > > > >         if(obj.className == "menuItem")
> > > > >         {
> > > > >                 $.ajax({
> > > > >                                  type:"GET",
> > > > >                                  url:"content/" + obj.id + ".html",
> > > > >                                  dataType: "html",
> > > > >                                  success:
> > > > >                                          function(data, status)
> > > > >                                          {
> > > > >                                                   
> > > > > contentDiv.innerHTML = data;
> > > > >                                          }
> > > > >                                 });
> > > > >         }
>
> > > > > }
>
> > > > > My response looks like:
>
> > > > > <h3>Some heading</h3>
> > > > > <script type="text/javascript">
>
> > > > > //Some javascript code
>
> > > > > </script>
>
>

Reply via email to