This section includes 7 InterviewSolutions, each offering curated multiple-choice questions to sharpen your Current Affairs knowledge and support exam preparation. Choose a topic below to get started.
| 1. |
What Is The Use Of Updatepanel? |
|
Answer» Updatepanel gives us the POSSIBILITY to make ASP .NET applications AJAX compatible, to update the content of a page with the aid of Partial-Page RENDERING. This is useful for refreshing a section of the page without refreshing the entire page. Updatepanel gives us the possibility to make ASP .NET applications Ajax compatible, to update the content of a page with the aid of Partial-Page rendering. This is useful for refreshing a section of the page without refreshing the entire page. |
|
| 2. |
Which Is The Purpose For Using The Scriptmanager? |
|
Answer» ScriptManager is used for handling every ASP.NET Ajax resource and it makes links for the client libraries in ASP.NET Ajax. This means we will be able to USE UpdatePanels, PageMethods and OTHERS. ALSO the page request Manager and Application objects are made, they are important in the client life cycle for raising events in the ASP.NET Ajax web pages. It is also good for making PROXIES for calling web services asynchronously. ScriptManager is used for handling every ASP.NET Ajax resource and it makes links for the client libraries in ASP.NET Ajax. This means we will be able to use UpdatePanels, PageMethods and others. Also the page request Manager and Application objects are made, they are important in the client life cycle for raising events in the ASP.NET Ajax web pages. It is also good for making proxies for calling web services asynchronously. |
|
| 3. |
What Is The Response Time When Using Ajax? |
|
Answer» Response TIME can ALSO be named latency and it MEANS the period of time that passes from the beginning of a REQUEST processing by the client to the sever until its END. Id the time is longer than normal then we say we had a delay, Delays usually appear when the XMLHttpRequest object is badly handled. Response time can also be named latency and it means the period of time that passes from the beginning of a request processing by the client to the sever until its end. Id the time is longer than normal then we say we had a delay, Delays usually appear when the XMLHttpRequest object is badly handled. |
|
| 4. |
Is It True That The Ajax Application Are Much Better Than The Classical Internet Applications? |
|
Answer» Not REALLY. What it is true is that Ajax has BROUGHT more flexibility. This flexibility also implies a higher DEGREE of responsibility when we USE Ajax for providing a better experience for the USER. Not really. What it is true is that Ajax has brought more flexibility. This flexibility also implies a higher degree of responsibility when we use Ajax for providing a better experience for the user. |
|
| 5. |
We Used Asynchronous Server Communication For A Long Time, What New Thing Is Ajax Bringing? |
|
Answer» Ajax is BRINGING changes in the way we use interactive real-world web APPLICATIONS. Now it’s time to apply all this NEW technologies that have been in development for many years. Ajax is bringing changes in the way we use interactive real-world web applications. Now it’s time to apply all this new technologies that have been in development for many years. |
|
| 6. |
In Ajax Does The Client Or The Sever Have The Control? |
|
Answer» Sometimes yes, sometimes no. It can be more like a server-side centralized COMPONENT or controller or client-side controller. A centralized server-side controller is the case where we must assure that the client-side page data is synchronized with the server data. Many PROGRAMS are preserving everything on the server and the updates are given to the client DOM through an easy Java SCRIPT controller. The case of client and server-side controllers uses a JavaScript for making each control that relates to presentation, each processing of events, each manipulation of pages and model data rendering on the client. The responsibility of business logic or giving the updated model data to a client is taken by the server-side. But this case doesn’t include specific information about the initial pages which is sent to the request of the client page. In certain USE cases the whole AJAX application is possible to write in one page. If we chose this we must also remember about bookmarking and navigation. Sometimes yes, sometimes no. It can be more like a server-side centralized component or controller or client-side controller. A centralized server-side controller is the case where we must assure that the client-side page data is synchronized with the server data. Many programs are preserving everything on the server and the updates are given to the client DOM through an easy Java Script controller. The case of client and server-side controllers uses a JavaScript for making each control that relates to presentation, each processing of events, each manipulation of pages and model data rendering on the client. The responsibility of business logic or giving the updated model data to a client is taken by the server-side. But this case doesn’t include specific information about the initial pages which is sent to the request of the client page. In certain use cases the whole Ajax application is possible to write in one page. If we chose this we must also remember about bookmarking and navigation. |
|
| 7. |
Does Ajax Have The Same Meaning As Xmlhttprequest? |
|
Answer» Because XMLHttpRequest is just a piece of Ajax, the answer will be no. Ajax DEPENDS on many pieces like XMLHttpRequest, CSS, DOM, ETC. XMLHttpRequest is the part RESPONSIBLE for asynchronous server communication. Because XMLHttpRequest is just a piece of Ajax, the answer will be no. Ajax depends on many pieces like XMLHttpRequest, CSS, DOM, etc. XMLHttpRequest is the part responsible for asynchronous server communication. |
|
| 8. |
How Can We Make A Mashup With Java By Accessing Other Domains Data? |
|
Answer» We can gain ACCESS to other domains DATA in our Java Script clients if the format of the data returned is in JSON format. In this way JavaScript client can be made which is running with the usage of another servers data, method called JSQN with Padding (JSQNP). This method has his doubts when it comes to SECURITY, because it functions by bringing data from outside our domain, but the execution is made inside. Not every TYPE of data from outside can be accessed as JSON and sometimes we want more security. In Java a proxy can be given to outside services with the aid of what we called a servlet, which is used for communication management between outside and inside services and gives us the possibility of changing the format of the data we provide according to our wishes. For speed improvement data can be CACHED. We can gain access to other domains data in our Java Script clients if the format of the data returned is in JSON format. In this way JavaScript client can be made which is running with the usage of another servers data, method called JSQN with Padding (JSQNP). This method has his doubts when it comes to security, because it functions by bringing data from outside our domain, but the execution is made inside. Not every type of data from outside can be accessed as JSON and sometimes we want more security. In Java a proxy can be given to outside services with the aid of what we called a servlet, which is used for communication management between outside and inside services and gives us the possibility of changing the format of the data we provide according to our wishes. For speed improvement data can be cached. |
|
| 9. |
In What Way Are Proxyless Calls Different Than The Proxied Calls In Ajax? |
|
Answer» Proxyless calls can be possible USING functions such as HTML_AJAX.replace() or HTML_AJAX.append(). This functions are JAVASCRIPT UTILITIES. Proxied calls are possible by using limitations of PHP classes or stub OBJECTS in JavaScript. Proxyless calls can be possible using functions such as HTML_AJAX.replace() or HTML_AJAX.append(). This functions are JavaScript utilities. Proxied calls are possible by using limitations of PHP classes or stub objects in JavaScript. |
|
| 10. |
What Are The Browser Versions That Ajax Is Compatible With? |
|
Answer» From the VERSION 0.3.0 AJAX is COMPATIBLE with Internet Explorer 5.5, MOZILLA Firefox 1.0, Safari 2+ and OPERA 8.5+. From the version 0.3.0 Ajax is compatible with Internet Explorer 5.5, Mozilla Firefox 1.0, Safari 2+ and Opera 8.5+. |
|
| 11. |
What Meaning Has Asp.net Ajax? |
|
Answer» ASP .NET Ajax is developed by MICROSOFT and it represent the free Ajax frame WORK USED for CREATING applications that have a great amount of interactivity and is COMPATIBLE with all the browsers. It gives us the possibility to choose our own way of using Ajax no matter if is Server-side, Client-side, the Query library or the Ajax Control Tool kit. ASP .NET Ajax is developed by Microsoft and it represent the free Ajax frame work used for creating applications that have a great amount of interactivity and is compatible with all the browsers. It gives us the possibility to choose our own way of using Ajax no matter if is Server-side, Client-side, the Query library or the Ajax Control Tool kit. |
|
| 12. |
Is It True That A Xmlhttprequest Objects Belongs To The W3c Standard? |
|
Answer» This hasn’t been decided until now but we know just that it belongs to DOM LEVEL 3 Load and Save. This hasn’t been decided until now but we know just that it belongs to DOM Level 3 Load and Save. |
|
| 13. |
Is It True That Ajax Is Code Browser Compatible? |
|
Answer» Yes but only partially. The MAJORITY of browsers give us a built-in XMLHttpRequest JavaScript OBJECT but some, like INTERNET EXPLORER, will asked it in the form of an ACTIVEX object. Yes but only partially. The majority of browsers give us a built-in XMLHttpRequest JavaScript object but some, like Internet Explorer, will asked it in the form of an ActiveX object. |
|
| 14. |
Why Is Html_ajax Having Stability Issues On Some Installations? |
|
Answer» If the problem that we have with is specific to certain servers the best explanation WOULD be that the problem relates to output COMPRESSION. It can be dictated and FIXED PHP config but if it is a related apache extension it is almost impossible to be detected properly. In most cases we will have to disable the AJAX extension, but in rare cases we can fix the issue by USING the setting sendContentLength to FALSE. Also xDdebug can create some issues but they can be fixed by the activating the extension. If the problem that we have with is specific to certain servers the best explanation would be that the problem relates to output compression. It can be dictated and fixed PHP config but if it is a related apache extension it is almost impossible to be detected properly. In most cases we will have to disable the AJAX extension, but in rare cases we can fix the issue by using the setting sendContentLength to false. Also xDdebug can create some issues but they can be fixed by the activating the extension. |
|
| 15. |
Easy Trough That The Classical Web Applications Are Harder To Make Than Ajax Applications? |
|
Answer» Not really, because the code that has to RUN on the CLIENT is complicated and it is hard to create such a code, without having BUGS and we NEED the aid of many tools of an EFFICIENT code. Not really, because the code that has to run on the client is complicated and it is hard to create such a code, without having bugs and we need the aid of many tools of an efficient code. |
|
| 16. |
Do We Have To Use Http Get/post For The Ajax Calls? |
|
Answer» If the DATA doesn’t CHANGE for a particular request URL, HTTP GET requests are NECESSARY. If the state on a server is GOING to be updated then a HTTP POST is necessary. If the data doesn’t change for a particular request URL, HTTP GET requests are necessary. If the state on a server is going to be updated then a HTTP POST is necessary. |
|
| 17. |
What Are The Protocols And Forms In Ajax? |
|
Answer» XMLHTTPREQUEST, this protocol is meant for doing requests to a server. The client browser makes an object, the TRANSFER of data happens in JSON or plain text. The JSON FORMAT can be PARSED by java SCRIPT and will be compatible with every browser. XMLHttpRequest, this protocol is meant for doing requests to a server. The client browser makes an object, the transfer of data happens in JSON or plain text. The JSON format can be parsed by java script and will be compatible with every browser. |
|
| 18. |
How Can Javascript Be Debugged? |
|
Answer» RIGHT now the number of UTILITIES that are compatible with both client and server debugging is small, but this could change over time. The debugging is currently made in separate way. Some of the client debuggers for some POPULAR browsers are presented below: the Venkman debugger is a built-in feature of Netscape/Mozilla browser and also there is an add-on called FireBug, also the browser Safari has a similar debugger that can be used by activation and Internet Explorer has some METHODS of debugging JavaScript. A common method used by debuggers is “ALERT Debugging” with the function “alert( )”. Right now the number of utilities that are compatible with both client and server debugging is small, but this could change over time. The debugging is currently made in separate way. Some of the client debuggers for some popular browsers are presented below: the Venkman debugger is a built-in feature of Netscape/Mozilla browser and also there is an add-on called FireBug, also the browser Safari has a similar debugger that can be used by activation and Internet Explorer has some methods of debugging JavaScript. A common method used by debuggers is “Alert Debugging” with the function “alert( )”. |
|
| 19. |
Which Are The Trigger Types That We Find In Update Panel? |
|
Answer» The TYPES or TRIGGERS are in member of two: PostBackTrigger and AsynPostBackTrigger. The FIRST one MAKES a COMPLETE postback. It doesn’t work asynchronously, the second one makes a practical postback and this is working asynchronously. The types or triggers are in member of two: PostBackTrigger and AsynPostBackTrigger. The first one makes a complete postback. It doesn’t work asynchronously, the second one makes a practical postback and this is working asynchronously. |
|
| 20. |
Which Are The Knowledge Requirements For Personal Ajax Functionality? |
|
Answer» To make a personal Ajax component and not reuse an already made one we need to have knowledge of the following:
To make a personal Ajax component and not reuse an already made one we need to have knowledge of the following: |
|
| 21. |
Is There Any Use Abilities Problems In Ajax? |
|
Answer» The APPEARANCE of a page is changed very much when we used Ajax interaction to dynamically update it. Because of the dynamically changes, also the state of the page is MODIFY and the page behavior has to be defined for the following actions :navigation, using back , slash forward, page bookmarks, URL SHARING, time dependant , printing of pages.
The appearance of a page is changed very much when we used Ajax interaction to dynamically update it. Because of the dynamically changes, also the state of the page is modify and the page behavior has to be defined for the following actions :navigation, using back , slash forward, page bookmarks, URL sharing, time dependant , printing of pages. |
|
| 22. |
Which Are The Problems That Can Be Fixed Using Ajax And What Is The Actual Meaning Of Ajax? |
|
Answer» The technologies that represent Ajax belong to the CLIENT and they make possible an ASYNCHRONOUS client to server communication. When synchronous communication is involved at every EVENT a complete round trip takes PLACE, issue SOLVED by using asynchronous communication. The technologies that represent Ajax belong to the client and they make possible an asynchronous client to server communication. When synchronous communication is involved at every event a complete round trip takes place, issue solved by using asynchronous communication. |
|
| 23. |
How Do We Manage Concurrent Request? |
|
Answer» For managing concurrent request we can write a function or we can use Java Script closures. After code processing is finishes the call BACK function and the URL would pass as parameters, they are passed to the object (AJAX Interaction). These closures are good in the way that they insure the RIGHT callback function will be invoked and this will have a PARTICULAR Ajax Interaction. For managing concurrent request we can write a function or we can use Java Script closures. After code processing is finishes the call back function and the URL would pass as parameters, they are passed to the object (Ajax Interaction). These closures are good in the way that they insure the right callback function will be invoked and this will have a particular Ajax Interaction. |
|
| 24. |
Do Ajax Applications Always Deliver A Better Experience Than That Delivered By A Traditional Web Application? |
|
Answer» AJAX GIVES INTERACTION designers more flexibility. HOWEVER, the more power we have, the more caution we must use in exercising it. We must be careful to use AJAX only to ENHANCE the user experience of our applications. AJAX gives interaction designers more flexibility. However, the more power we have, the more caution we must use in exercising it. We must be careful to use AJAX only to enhance the user experience of our applications. |
|
| 25. |
What Is The Difference Between A Destructor And A Garbage Collector? |
|
Answer» A DESTRUCTOR is a special member function of a CLASS called as soon as an object is de-allocated, while a garbage collector is either a program or an application that de-allocates the memory of a formerly UNREACHABLE object. A destructor is a special member function of a class called as soon as an object is de-allocated, while a garbage collector is either a program or an application that de-allocates the memory of a formerly unreachable object. |
|
| 26. |
When Should We Use A Java Applet Instead Of Ajax? |
|
Answer» Many amazing things can be done with AJAX/DHTML, but there are limitations. AJAX and APPLETS can be used together in the same UIS, with AJAX providing the basic STRUCTURE and applets providing more advanced functionality. The java applet can communicate to JavaScript USING the Live-Connect APIs. One should not ask: “should we use AJAX or applets?” INSTEAD, one should discover which technology best fits your needs. In summary, AJAX and applets need not be mutually exclusive. Many amazing things can be done with AJAX/DHTML, but there are limitations. AJAX and applets can be used together in the same UIs, with AJAX providing the basic structure and applets providing more advanced functionality. The java applet can communicate to JavaScript using the Live-Connect APIs. One should not ask: “should we use AJAX or applets?” Instead, one should discover which technology best fits your needs. In summary, AJAX and applets need not be mutually exclusive. |
|
| 27. |
What Is The Predominant Distinction Between Javascript And J-query? |
|
Answer» JAVASCRIPT is a language, while j-query is merely a library written USING JavaScript. This library is light-weight, cross-browser compatible, and simple. One can ALSO assert that j-query is a plugin USED to BUILD function. JavaScript is a language, while j-query is merely a library written using JavaScript. This library is light-weight, cross-browser compatible, and simple. One can also assert that j-query is a plugin used to build function. |
|
| 28. |
How We Can Send More Values Through The Response Text? |
|
Answer» We can send text VALUES with the concatenation of ‘I’ operator and by splitting with the PIPE operator like ’responseText.split(‘|’);’ If DONE PROPERLY, we would receive an array of our text. Now, we can ACCESS it, or we can use JSQN to send multiple text values in a array format. We can send text values with the concatenation of ‘I’ operator and by splitting with the pipe operator like ’responseText.split(‘|’);’ If done properly, we would receive an array of our text. Now, we can access it, or we can use JSQN to send multiple text values in a array format. |
|
| 29. |
What Are Synchronous And Asynchronous Ajax Requests? |
|
Answer» During the initiation of synchronous requests, the script desists and AWAITS a REPLY from the server before proceeding; but during the initiation of ASYNCHRONOUS requests, the script sanctions the PROCESSION of the PAGE and handles the reply. During the initiation of synchronous requests, the script desists and awaits a reply from the server before proceeding; but during the initiation of asynchronous requests, the script sanctions the procession of the page and handles the reply. |
|
| 30. |
Describe The Process And Benefits Of Using The Always Visible Control Extender? |
|
Answer» The Always Visible CONTROL Extender authorizes a control to be pinned to a particular location. For example, when a control has been permanently set to be present at the left corner of the page, the control will be so in the PRESCRIBED left and right co-ordinates. This placement will APPLY, whenever the page is resized or SCROLLED. The Always Visible Control Extender authorizes a control to be pinned to a particular location. For example, when a control has been permanently set to be present at the left corner of the page, the control will be so in the prescribed left and right co-ordinates. This placement will apply, whenever the page is resized or scrolled. |
|
| 31. |
Does Load Runner Support Ajax Apps? |
|
Answer» Load Runner supports AJAX Apps. However, Ajax protocols in Load Runner are not as efficient as they are in HTTP. Yet, using HTTP to RECORD AJAX web requires copious custom coding. AJAX protocols HEAVILY depend on memory, and RUNNING more than 2GB of RAM could cause the machine to freeze. Load Runner supports AJAX Apps. However, Ajax protocols in Load Runner are not as efficient as they are in HTTP. Yet, using HTTP to record AJAX web requires copious custom coding. AJAX protocols heavily depend on memory, and running more than 2GB of ram could cause the machine to freeze. |
|
| 32. |
Describe The Animation Extender Control And The Method By Which This Control Is Utilized? |
|
Answer» The Animation Extender control permits you to PROGRAM fluid animations to the controls that you put on the page. This control allows you to program ELEMENTS that can move around the page based UPON specific end user triggers (such as a button click). There are specific events available against which to program your animations. These events include “OnClick,” “OnHoverOver”, “OnHoverOut”, “ONLOAD,” “OnMouseOver,” and The Animation Extender control permits you to program fluid animations to the controls that you put on the page. This control allows you to program elements that can move around the page based upon specific end user triggers (such as a button click). There are specific events available against which to program your animations. These events include “OnClick,” “OnHoverOver”, “OnHoverOut”, “OnLoad,” “OnMouseOver,” and |
|
| 33. |
Is Ajax A Browser-dependent Or A Browser-independent Script? |
|
Answer» AJAX is a browser-dependent technology. The Ajax engine runs on FIREFOX, Opera 8, Safari and later MOZILLA builds, and the Microsoft ACTIVEX OBJECT. AJAX is a browser-dependent technology. The Ajax engine runs on Firefox, Opera 8, Safari and later Mozilla builds, and the Microsoft ActiveX object. |
|
| 34. |
Can You List Some Examples Of Ajax-based Applications? |
|
Answer» Some applications and scenarios in which AJAX is utilized INCLUDE login forms, auto-complete (e,g. Google search ), voting and rating systems, updating with USER CONTENT, form submission and validation, chat rooms and instant messaging, Slicker UIs, EXTERNAL widgets, light-boxes (as opposed to pop-ups), and FLASH (e.g. Flash games). Some applications and scenarios in which AJAX is utilized include login forms, auto-complete (e,g. Google search ), voting and rating systems, updating with user content, form submission and validation, chat rooms and instant messaging, Slicker UIs, external widgets, light-boxes (as opposed to pop-ups), and Flash (e.g. Flash games). |
|
| 35. |
How Does One Call A Javascript Function From The Ajax Code? |
|
Answer» Ajax is a form of JAVASCRIPT, which uses XML Http Request objects that take action event parameters into a method called “OPEN”. The term AJAX symbolizes Asynchronous Java script and XML, WHEREIN there is no ORDER in which the requests and responses are tracked.”XMLHttpRequest.open” takes action events as URL Parameters. On the other hand, “XMLHttp Request.send” SENDS the Request object either asynchronously or synchronously, depending on whether the option for the synchronous version is true or false. Ajax is a form of JavaScript, which uses XML Http Request objects that take action event parameters into a method called “open”. The term AJAX symbolizes Asynchronous Java script and XML, wherein there is no order in which the requests and responses are tracked.”XMLHttpRequest.open” takes action events as URL Parameters. On the other hand, “XMLHttp Request.send” sends the Request object either asynchronously or synchronously, depending on whether the option for the synchronous version is true or false. |
|
| 36. |
Is The Xmlhttprequest Object Part Of A W3c Standard? |
|
Answer» No. Or not yet. It is part of the DOM Level 3 Load and Save Specification PROPOSAL. No. Or not yet. It is part of the DOM Level 3 Load and Save Specification proposal. |
|
| 37. |
How Do We Create A Thread To Do Ajax Polling? |
|
Answer» JavaScript does not have threads. JavaScript functions are called when an event happens in a page such as the page is LOADED, a mouse click, or a form element gains focus. You can create a timer using the set Timeout which TAKES a function name and time in MILLISECONDS as arguments. You can then loop by CALLING the same function as can be seen in the JavaScript EXAMPLE below. function checkForMessage() {// start AJAX interaction with processCallback as the callback function } // callback for the request function processCallback() { // do post processing setTimeout("checkForMessage()", 10000); } Notice that the checkForMessage will continue to loop indefinitely. You may want to vary the increment the interval based on activity in the page or your use cases. You may also choose to have logic that would break out of the loop based on some AJAX response processing condition. JavaScript does not have threads. JavaScript functions are called when an event happens in a page such as the page is loaded, a mouse click, or a form element gains focus. You can create a timer using the set Timeout which takes a function name and time in milliseconds as arguments. You can then loop by calling the same function as can be seen in the JavaScript example below. Notice that the checkForMessage will continue to loop indefinitely. You may want to vary the increment the interval based on activity in the page or your use cases. You may also choose to have logic that would break out of the loop based on some AJAX response processing condition. |
|
| 38. |
Does Java Have Support For Comet Style Server-side Push? |
|
Answer» Current AJAX applications use polling to communicate changes DATA between the server and client. Some applications, such as chat applications, STOCK tickers, or score boards require more IMMEDIATE notifications of updates to the client. Comet is an event based low latency server side push for AJAX applications. Comet communication keeps one of the two connections available to the browser open to continuously communicate events from the server to the client. A Java based solution for Comet is being developed for GLASSFISH on top of the Grizzly HTTP connector. See ENABLING Grizzly by Jean-Francois Arcand for more details. Current AJAX applications use polling to communicate changes data between the server and client. Some applications, such as chat applications, stock tickers, or score boards require more immediate notifications of updates to the client. Comet is an event based low latency server side push for AJAX applications. Comet communication keeps one of the two connections available to the browser open to continuously communicate events from the server to the client. A Java based solution for Comet is being developed for Glassfish on top of the Grizzly HTTP connector. See Enabling Grizzly by Jean-Francois Arcand for more details. |
|
| 39. |
How Do I Access Data From Other Domains To Create A Mashup With Java? |
|
Answer» From your JavaScript clients you can access data in other domains if the return data is provide in JSON format. In ESSENCE you can create a JavaScript CLIENT that runs operates using data from a different server. This technique is know as JSON with Padding or JSONP. There are questions as to whether this method is secure as you are retrieving data from outside your domain and allowing it to be excuted in the context of your domain. Not all data from third parties is accessible as JSON and in some CASES you may want an extra level of PROTECTION. With Java you can provide a proxy to third party services using a web component such as a servlet. This proxy can manage the communication with a third party service and provide the data to your clients in a format of your choosing. You can also cache data at your proxy and reduce trips to service. For more on using a Java proxy to create mashups SEE The XmlHttpProxy Client for Java. From your JavaScript clients you can access data in other domains if the return data is provide in JSON format. In essence you can create a JavaScript client that runs operates using data from a different server. This technique is know as JSON with Padding or JSONP. There are questions as to whether this method is secure as you are retrieving data from outside your domain and allowing it to be excuted in the context of your domain. Not all data from third parties is accessible as JSON and in some cases you may want an extra level of protection. With Java you can provide a proxy to third party services using a web component such as a servlet. This proxy can manage the communication with a third party service and provide the data to your clients in a format of your choosing. You can also cache data at your proxy and reduce trips to service. For more on using a Java proxy to create mashups see The XmlHttpProxy Client for Java. |
|
| 40. |
Does Ajax Have Significant Accessibility Or Browser Compatibility Limitations? Do Ajax Applications Break The Back Button? Is Ajax Compatible With Rest? Are There Security Considerations With Ajax Development? Can Ajax Applications Be Made To Work For Users Who Have Javascript Turned Off? |
|
Answer» The answer to all of these questions is “MAYBE”. Many developers are already working on ways to address these concerns. We think there’s more work to be done to determine all the limitations of AJAX, and we expect the Ajax development community to UNCOVER more issues LIKE these along the way. The answer to all of these questions is “maybe”. Many developers are already working on ways to address these concerns. We think there’s more work to be done to determine all the limitations of Ajax, and we expect the Ajax development community to uncover more issues like these along the way. |
|
| 41. |
What Is The Xmlhttprequest Object? |
|
Answer» It OFFERS a non-blocking way for JavaScript to COMMUNICATE back to the WEB SERVER to update only part of the web page. It offers a non-blocking way for JavaScript to communicate back to the web server to update only part of the web page. |
|
| 42. |
Where Can I Find Examples Of Ajax? |
|
Answer» While components of AJAX have been around for some time (for INSTANCE, 1999 for XMLHttpRequest), it really didn't become that popular until Google took. But Global Guide Line guide all of its VIEWERS to learn AJAX from ABSOLUTE beginner to advance LEVEL. While components of AJAX have been around for some time (for instance, 1999 for XMLHttpRequest), it really didn't become that popular until Google took. But Global Guide Line guide all of its viewers to learn AJAX from absolute beginner to advance level. |
|
| 43. |
Does This Mean Adaptive Path Is Anti-flash? |
|
Answer» Not at all. Macromedia is an Adaptive Path CLIENT, and we’ve long been supporters of Flash technology. As AJAX matures, we expect that sometimes Ajax will be the better solution to a particular PROBLEM, and sometimes Flash will be the better solution. We’re also INTERESTED in exploring ways the technologies can be mixed (as in the CASE of Flickr, which uses both). Not at all. Macromedia is an Adaptive Path client, and we’ve long been supporters of Flash technology. As Ajax matures, we expect that sometimes Ajax will be the better solution to a particular problem, and sometimes Flash will be the better solution. We’re also interested in exploring ways the technologies can be mixed (as in the case of Flickr, which uses both). |
|
| 44. |
What Kinds Of Applications Is Ajax Best Suited For? |
|
Answer» We don’t know yet. Because this is a RELATIVELY new approach, our understanding of where Ajax can BEST be applied is STILL in its infancy. Sometimes the traditional web APPLICATION model is the most appropriate solution to a PROBLEM. We don’t know yet. Because this is a relatively new approach, our understanding of where Ajax can best be applied is still in its infancy. Sometimes the traditional web application model is the most appropriate solution to a problem. |
|
| 45. |
When Should I Use A Java Applet Instead Of Ajax? |
Answer»
|
|
| 46. |
Will Html_ajax Integrate With Other Javascript Ajax Libraries Such As Scriptaculous? How Would This Integration Look Like? |
|
Answer» HTML_AJAX doesn't have specific plans to integrate with other JavaScript libraries. Part of this is because external dependencies make for a more complicated installation process. It might make sense to offer some optional dependencies on a library like SCRIPTACULOUS automatically using its VISUAL effects for the loading box or something, but there isn't a lot to GAIN from making default visuals like that FLASHIER since they are designed to be asily replaceable. Most integration would take place in higher level components. Its unclear whether higher level components like that should be part of HTML_AJAX delivered through PEAR or if they should just be supported by HTML_AJAX and made available from http://htmlajax.org or some other site. If your interested in BUILDING widgets or components based on HTML_AJAX please let me know. HTML_AJAX does however offer the ability to use its library loading mechanism with any JavaScript library. I use scriptaculous in conjunction with HTML_AJAX and I load both libraries through the server. To do this you just need to register the library with your server and load add its flag to your include line. <?php$this->server->registerJSLibrary('scriptaculous', array('prototype.js','scriptaculous.js','builder.js',' effects.js','dragdrop.js','controls.js','slider.js'), '/pathto/scriptaculous/'); ?> <script type="text/javascrpt" src="server.php?client=scriptaculous"> </script> HTML_AJAX doesn't have specific plans to integrate with other JavaScript libraries. Part of this is because external dependencies make for a more complicated installation process. It might make sense to offer some optional dependencies on a library like scriptaculous automatically using its visual effects for the loading box or something, but there isn't a lot to gain from making default visuals like that flashier since they are designed to be asily replaceable. Most integration would take place in higher level components. Its unclear whether higher level components like that should be part of HTML_AJAX delivered through PEAR or if they should just be supported by HTML_AJAX and made available from http://htmlajax.org or some other site. If your interested in building widgets or components based on HTML_AJAX please let me know. HTML_AJAX does however offer the ability to use its library loading mechanism with any JavaScript library. I use scriptaculous in conjunction with HTML_AJAX and I load both libraries through the server. To do this you just need to register the library with your server and load add its flag to your include line. |
|
| 47. |
How Do I Send An Image Using Ajax? |
|
Answer» While it may APPEAR that images are being sent when using AJAX with an application like Google Maps what is really happening is that the URLs of images are being send as the response of an AJAX request and those URLs are being set using DHTML. In this example an XML document is returned from an AJAX interaction and the category bar is populated. <categories> <category> <cat-id>1</cat-id> <NAME>Books</name> <description>Fun to read</description> <image-url>books_icon.gif</image-url> </category> <category> <cat-id>2</cat-id> <name>Electronics</name> <description>Must have gadgets</description> <image-url>electronics.gif</image-url> </category> </categories>Notice that the image-url element contains the LOCATION of the URL for the image representing a category. The callback method of an AJAX interaction will parse the response XML document and call the addCategory function for each category included in the response XML document. The addCategory function looks up a table row element "categoryTable" in body of the page and adds a row to the element which contains the image. <scrip type="text/javascript" > ... function addCategory(id, name, imageSrc) { var categoryTable = document.getElementById("categoryTable"); var row = document.createElement("tr"); var catCell = document.createElement("td"); var img = document.createElement("img"); img.src = ("images\" + imageSrc); var link = document.createElement("a"); link.className ="category"; link.appendChild(document.createTextNode(name)); link.setAttribute("onclick", "catalog?command=category&catid=" + id); catCell.appendChild(img); catCell.appendChild(link); row.appendChild(catCell); categoryTable.appendChild(row); } </SCRIPT> ... <table> <tr> <td width="300" bgoclor="lightGray"> <table id="categoryTable" border="0" cellpadding="0"></table> </td> <td id="body" width="100%">Body Here</td> </tr> </table>Note that the source of the image is set to the image source. The image is loaded by a subsequent HTTP request for the image at the URL "images/books_icon.gif" or "images/electronic_icon.gif" that OCCURS when the img element is added to the categoryTable. While it may appear that images are being sent when using AJAX with an application like Google Maps what is really happening is that the URLs of images are being send as the response of an AJAX request and those URLs are being set using DHTML. In this example an XML document is returned from an AJAX interaction and the category bar is populated. Notice that the image-url element contains the location of the URL for the image representing a category. The callback method of an AJAX interaction will parse the response XML document and call the addCategory function for each category included in the response XML document. The addCategory function looks up a table row element "categoryTable" in body of the page and adds a row to the element which contains the image. Note that the source of the image is set to the image source. The image is loaded by a subsequent HTTP request for the image at the URL "images/books_icon.gif" or "images/electronic_icon.gif" that occurs when the img element is added to the categoryTable. |
|
| 48. |
What Browsers Support Ajax? |
|
Answer» Internet Explorer 5.0 and up, Opera 7.6 and up, NETSCAPE 7.1 and up, FIREFOX 1.0 and up, SAFARI 1.2 and up, AMONG others. Internet Explorer 5.0 and up, Opera 7.6 and up, Netscape 7.1 and up, Firefox 1.0 and up, Safari 1.2 and up, among others. |
|
| 49. |
How Does Html_ajax Compare With The Xajax Project At Sourceforge? |
|
Answer» XAJAX uses XML as a transport for data between the webpage and server, and you don't write your own javascript data handlers to manipulate the data received from the server. Instead you use a php class and built in javascript methods, a combination that works very similiar to the HTML_AJAX_Action class and haSerializer combo. XAJAX is designed for simplicity and ease of use. HTML_AJAX allows for multiple transmission types for your ajax data - such as urlencoding, json, phpserialized, plain text, with others planned, and has a system you can use to write your own serializers to meet your specific needs. HTML_AJAX has a class to help generate javascript (HTML_AJAX_Helper) similiar to ruby on RAIL's javascript helper (although it isn't complete), and an action system similiar to XAJAX's "action pump" that allows you to AVOID writing javascript data handlers if you desire. But it also has the ability to write your own data handling routines, automatically register classes and methods USING a server "proxy" script, do different types of callbacks including grabbing remote urls, choose between sync and async requests, has iframe xmlhttprequest emulation fallback capabilities for users with old browsers or disabled activeX, and is in active development with more features planned (see the Road Map for details) HTML_AJAX has additional features such as client pooling and priority queues for more advanced users, and even a javascript utility class. Although you can use HTML_AJAX the same way you use XAJAX, the additional features make it more robust, extensible and flexible. And it is a pear package, you can use the pear installer to both install and keep it up to date. If you're ASKING which is "better" - as with most php scripts it's a matter of taste and NEED. Do you need a quick, simple ajax solution? Or do you want something that's flexible, extensible, and looking to incorporate even more great features? It depends on the project, you as a writer, and your future plans. XAJAX uses XML as a transport for data between the webpage and server, and you don't write your own javascript data handlers to manipulate the data received from the server. Instead you use a php class and built in javascript methods, a combination that works very similiar to the HTML_AJAX_Action class and haSerializer combo. XAJAX is designed for simplicity and ease of use. HTML_AJAX allows for multiple transmission types for your ajax data - such as urlencoding, json, phpserialized, plain text, with others planned, and has a system you can use to write your own serializers to meet your specific needs. HTML_AJAX has a class to help generate javascript (HTML_AJAX_Helper) similiar to ruby on rail's javascript helper (although it isn't complete), and an action system similiar to XAJAX's "action pump" that allows you to avoid writing javascript data handlers if you desire. But it also has the ability to write your own data handling routines, automatically register classes and methods using a server "proxy" script, do different types of callbacks including grabbing remote urls, choose between sync and async requests, has iframe xmlhttprequest emulation fallback capabilities for users with old browsers or disabled activeX, and is in active development with more features planned (see the Road Map for details) HTML_AJAX has additional features such as client pooling and priority queues for more advanced users, and even a javascript utility class. Although you can use HTML_AJAX the same way you use XAJAX, the additional features make it more robust, extensible and flexible. And it is a pear package, you can use the pear installer to both install and keep it up to date. If you're asking which is "better" - as with most php scripts it's a matter of taste and need. Do you need a quick, simple ajax solution? Or do you want something that's flexible, extensible, and looking to incorporate even more great features? It depends on the project, you as a writer, and your future plans. |
|
| 50. |
How Do I Handle The Back And Forward Buttons? |
|
Answer» While you could GO out and create a CUSTOM solution that tracks the current state on your application I recommend you leave this to the experts. Dojo addresses the navigation in a browser neutral WAY as can be seen in the JavaScript example below. function updateOnServer(oldId, oldValue, itemId, itemValue) { var bindArgs = { url: "faces/ajax-dlabel-update", method: "post", content: {"component-id": itemId, "component-value": itemValue}, mimetype: "text/xml", LOAD: function(type, data) { processUpdateResponse(data); }, backButton: function() { alert("old itemid was " + oldId); }, forwardButton: function(){ alert("forward we must go!"); } }; dojo.io.bind(bindArgs); }The example above will update a value on the server using dojo.io.bind() with a function as a property that is responsible for dealing with the browser back button event. As a developer you are capable of restoring the value to the oldValue or taking any other action that you see fit. The underlying details of how the how the browser button event are detected are hidden from the developer by Dojo. AJAX: How to Handle BOOKMARKS and Back Buttons details this problem and provides a JavaScript library Really Simple History framework (RSH) that focuses just on the back and forward issue. While you could go out and create a custom solution that tracks the current state on your application I recommend you leave this to the experts. Dojo addresses the navigation in a browser neutral way as can be seen in the JavaScript example below. The example above will update a value on the server using dojo.io.bind() with a function as a property that is responsible for dealing with the browser back button event. As a developer you are capable of restoring the value to the oldValue or taking any other action that you see fit. The underlying details of how the how the browser button event are detected are hidden from the developer by Dojo. AJAX: How to Handle Bookmarks and Back Buttons details this problem and provides a JavaScript library Really Simple History framework (RSH) that focuses just on the back and forward issue. |
|