Once the user logs in I would try avoid any sort of client scripting except where ABSOLUTELY necessary. Here are the recommendations I would recommend for web work regarding online financial services:
1) Send ALL assets to the user via HTTPS from the same domain. Although it is slower and most costly for the bandwidth it is also more secure because you control all the assets from manipulation directly. By all assets I really mean all assets even including images since manipulation of images containing text content could be used to send false instructions in advance of a phishing attempt. In this regard I would not use a CDN to store your assets, because that is not a location that you own so you have less control to monitor the stored data for tampering.
2) Do NOT use AJAX or anything else with XMLHttpRequest object. The point of asynchronous communication is to beacon information between points outside of reloading a page. That is great for usability, but completely defeats security. Since it executes on the client side compromised code can also be used to defeat legitimate SSL encryption by beaconing information from the user to an untrusted third party after the information is decrypted at the user's end. When dealing with purchases, PII, or financial data ALWAYS ensure each information transaction from the user forces a page reload or a new page.
3) Avoid using any sort of client side scripting. The means do not use ActiveX, Flash, or even Acrobat at all. 95% of all reported security vulnerabilities are attributed to client side scripting and 70% of those attacks target memory corruption of the processing software. Although JavaScript is not normally known for buffer overflows I would still recommend using it as little as possible to manipulate the DOM only.
4) Never pass an anonymous function as an argument in a function or method in JavaScript. This is not something that commonly occurs, but in the case of certain built in methods this can allow a hole through the JavaScript interpreter to the processing software, which could then be an attack vector to insert code necessary to cause a buffer overflow.
5) Do not use the onsubmit event to attach script execution to the submission of form data. Violating the executing code, or appending extra malicious code, can create a point in which to include the XMLHttpRequest function to anonymously beacon the form data to an untrusted third party in advance of sending it to the trusted source even if the transfer protocol of the action attribute is HTTPS.
6) So long as you stick to VALID XHTML, CSS, and text for nearly all possible aspects of the user experience and communicate using only HTTPS you should be mostly fine.
You have to keep in mind that banks and educational institutions receive 40% of all known attacks, so you MUST assume your work will be attacked and compromised. The average cost of a single attack in 2008 was $11.3 million. If the bank could attack you for those damages, because you did not consider the full depth of security, how would you respond? Plan accordingly to ensure your work is as locked down as possible.