Overhead A Javascript Tookit A Necessary Evil For AJAX?
Feb 28, 2007
I am currently running a website for a medium sized company that has an application which relies heavily on AJAX. Currently, I am using DOJO, and it does a great job when it comes to cross-browser compatability. It comes with so many extras, and clients are forced to download these extras!! I have looked around at various other Javascript applications, and, while some vary in size, it seems that they are all quite large. Are these toolkits neccessary for a functioning ajax application? Must clients download an extra 30 - 150kb of js to use AJAX? In an attempt to solve this problem, I threw a script together with some help from the internet and an Ajax book that weighs in at 1.2kb. I would love to just throw this up and be done, but I don't have the testing capabilities to justify doing so. There are so many flavors of browsers, and I have access to only a few of them. Frustrating Don't really know what i'm asking, anyone else run into this frustration?
Ok so, this is my purpose: - to be able to load asynchronously (via AJAX) some javascript ads (like google's or adbrite) so as to make them be loaded in the background, then update the page after the ads have loaded via innerHTML
Why? -Because 90% of the time in my newer sites, javascript ads are the major offender in terms of speed of page rendering
My problem: Via ajax, I can call a php file that retrieves some javascript and outputs it, XMLhttprequest returns those javascript lines, but they don't render in the page, since they miss the whole page loading, and are apparently not parsed For example, let's say I call a php file via ajax, and it returns the output into a variable named "text" containing "document.write('hello')" if I use xxx.innerHTML=text, nothing happens
My 1st solution: Passing those javascript lines to eval() [like eval(text) ], but this produces a second problem, that I couldn't solve (probably because of my lack of knowledge in javascipt): if I eval the code, it deletes my current page and renders a new one for example, if I parse a document.write, my page disappears, and a new one is rendered with the document.write text
What I want is basically to make that "document.write" appear inside a div in my page, adding to the content (and not overwriting the whole page), much like what happens when using innerHTML
Is this even possible? How would you go about it? I tried xxx.innerHTML=eval(outputfromphpfile) but it overwrites my whole page...
I am using Ajax to refresh a DIV area by setting the innerHTML=request.responseText in the usual manner. in the response text I have a <SCRIPT> tag in line, but this is not executed. Is there a way of making the ajax refresh process this.
If the browser disable the javascript, what happen to Ajax? can i slove the problem by using server side script? any suggestion for this?
i currently do some dirty projects with perl/cgi, and I would like to add more client side features which relate to ajax, and do some validation on the client side with javascript. but it is possible that the javascript may be disable with some browsers. what can i do if the client's broweer disable the javascript.
I'm interested in learning Javascript with an eye towards using it for client-side user interfaces for web services, and I have a couple questions.
First -- In reading some of the archives here, I've noticed a fairly strongly held opinion that it is better to write purpose-built Javascript than to use large libraries. Since this was what I was planning on doing anyway, because of the size of the libraries and compatibility quirks with Safari, it's nice to hear confirmation from experts. That said, is the code in Prototype, Scriptaculous, and OpenRico good enough to be worth reading and emulating?
Second -- I do much better with dead-tree references than with the web, especially as a lot of the links that come up when I google for Javascript topics are tutorials for the clueless by the clueless. (Perl has the same problem, but with Perl I have enough knowledge to filter the useful bits from the flat-out wrong bits.) Aside from the O'Reilly Javascript reference (which I have) and _Ajax Hacks_ (which I also have), are there other good references I should get my hands on?
Some servers return JavaScript as the response to an AJAX request. When the response JavaScript is eval'ed it calls other JavaScript functions already in the browser to update elements, etc. This seems like a good system because it allows so much freedom in creating the desired behavior in the browser. The required data doesn't have to be converted to XML or JSON on the server. The browser doesn't have to have templates for interpreting and converting this data into some change in the browser. All of the conversion algorithms don't have to be written and changed when new behavior is required. This remote procedure call approach is the predominant system in the Ruby on Rails world. (Unfortunately they are calling Prototype.js functions.)
However apparently some people seem to think this remote procedure call approach is a bad idea. I can't see why it is so bad because it is so lightweight and flexible. It also helps to keep the client less intellegent which seems good in a world of incompatible client-side bugs.
If I use some neutral data format like XML to accomdate different types of clients then I have to write different client-side interpreters for each type of client (browser, RSS, POP, cell phone, etc). Why not just write different server-side code that generates the correct JavaScript (or other) for the requesting client type?
I'm making an ajax call to return the contents for a page using the responseText property. I want to be able to define a javascript function in the page and call it, doing something like:
<script> function test(){ alert('hi'); } test(); </script>
However, none of the javascript in my page works. I'd imagine it has something to do with it being included as part of the responseText and the browser is not picking it up. I haven't been able to find any info about this online anywhere. Any thoughts?
I am currently creating a social network. On a profile if a user has comments they can delete them. I am running AJAX to update the database and display the comments refreshed (one deleted will no longer show). The data I am requesting includes the following...
My problem is that the JavaScript from the request does not work, I can only seem to display regular HTML. Is there a solution to this problem to make the JavaScript work or do I have to use an HTML alternative?
Is it just me, or is there no distinction between AJAX and Javascript nowadays? Today I saw a request for a calculator, something that should be done with just Javascript, but yet the post was seeking an AJAX developer. When did these terms become synonymous?
In my browser, I make an AJAX request. The server sends me a fragment of an HTML document. That fragment has some JavaScript inside some script tags. How do I run these scripts when the fragment arrives at the browser?
does anyone know of any way to allow for multiplayer interaction using Javascript/AJAX calls?
I am looking at two (or more) players visiting the same webpage and interacting with one another to play a text/browser based game (non-Flashed based).
Any ideas on how to do this using JS/PHP and mySQL?
I can't seem to figure out what I'm doing wrong with this no matter how many things I try. I've looked through Google for a related issue but found nothing specificThe script runs through a external .js file calling a list of music albums, then listing the song of the album chosen via ajax. The user can then edit of delete the songs. Everything works fine until I submit the edited information through a form. When I click the submit button I get a web developer error "updateSong is not a function"Here's the form which is loaded into the already existing page via ajax:
I would like to build an HTML page that has four content areas. The first with 3 links that when clicked chage what is shown in the other 3 - and so changing the default content in these sections. The content for these sections will be contained in seperate HTML files sitting on the same server.
I understand this can be done without refreshing the page and believe JavaScript and Ajax is the best method to do this. Any advice?
I'm sure some wizard will tell me this is a classic example of "piece of cake"; in which case I bow and promise to listen In case I've struck granite rock, feel free to throw questions my way and I'll tell you if I've tried it or not.
I have a file, main.php (I know this is the JS-forum, bear with me). It outputs HTML and inline Javascript functions. When the user clicks on a graphical "tab", that tab is activated, and an ajax call is made to fetch.php with some specific parameters. Once the ajax request has completed, a given innerHTML container on the now active tab is filled with the stuff that fetch.php outputs.
So far so good.
The problem is that the stuff that fetch.php outputs is partial pure HTML and partial inline javascript. And this is where it gets tricky. If I declare an inline javascript function in the returned data, Firefox (and I suspect MSIE) refuses to understand that the function is there. It simply doesn't exist (!).
Using the Web Developer add-on for Firefox, there's an option to look at "Source code" and "Generated source code". The output from these two differ in that when I view the "Generated source code", I see the dynamically inserted javascript/HTML from fetch.php, whereas viewing "just" the source doesn't.
What did I do wrong? How do I get the browser to find/accept/activate the javascript code/functions that were inserted dynamically? I cannot put them in a .js file and include it, since they need to be dynamically created, and I cannot use eval() since that executes javascript "as is", in which a function will not be executed unless called.
I've run into this a few times and have never found a way to deal it. Basically I'm building a user administration cms using mostly ajax calls to admin modules. It works great but I'm running into a huge problem that I need to figure out how to fix, (if possible).
As the title says the issue is including and executing javascript code inside a page that gets called via ajax. One specific example of the problem I'm having is creating sortable lists with scriptalacous. It works great if I access the page directly, but if I access the page using an ajax call the javascript of the page doesn't seem to fire.
I have PHP file called file1.php with an empty <div></div> in the middle. I've added a 'load' event listener so that on page load, it calls an AJAX function that calls file2.php. file2.php creates a table and loads it into the <div></div> in file1.php.
file2.php has <a> tags in it's <th> columns and I wish to trap when a user clicks on the column heading. The old way was to use the onclick() method but I'd rather use event listeners.
Here's my problem. I am getting "obj has no properties" when trying to add those listeners. I *think* it is because the code in file2.php isn't part of the original DOM tree for file1.php. So how can I use event listeners instead of onlclick()? I know I can add top the DOM by creating elements and appending them but that adds to the HTML code and my code is already in place via the AJAX call. What to do...? DO I just use the old passe onclick() method?
I want to load some pages generated with the server (ASP) and assign their html results to JavaScript, so users could click the links and the content of any selected page would show up immediately, making no requests.
So, I have one main page called mainpage.asp which, I think, should get all subpages with content, names are subpage1.asp, subpage2.asp, etc. I tried ASP's XMLHttpRequest to get content of all sub pages and assign html result to JavaScript variables. But I realized that MS XMLHttpRequest does not get session protected pages. I mean that if my subpage will generate output with session only, then even if the session exists, MS XMLHttpRequest does not see it.
Anyway, this trick did not work. If I include these subpages in mainpage.asp under a hidden field, this may be a solution but I do not see it good enough yet.
What would you recommend? How would you assign subpage's html code to JavaScript variables or array of variables?
I'm developing a site that will use technologies like JavaScript and AJAX. I want the site to be functional for people that has older browsers or JavaScript turned off so for this I need to find out if the user's browser is supporting JavaScript and AJAX.
How can I check this in an easy and simple way? I.e the user enters my website with JavaScript turned off at the moment. And then he turns it on and reloads the page. I would like to catch that he has turned JavaScript on. The same goes with AJAX (although there is no off/on setting for AJAX).
Can anyone redirect to any online tutorials, articles, code of how to upload a file using HTTP PUT method and JavaScript or VBScript to a server running Apache 2.0 that uses CGI + PERL.
How to create configuration entries in httpd.conf for supporting HTTP PUT method.
How to code with AJAX to post uploaded file content to the server using PUT method ?