無法訪問混合html/js ajax響應中的javascript代碼。 jQuery的AJAX文檔狀態:jQuery:處理混合html/js ajax響應
如果指定的HTML,則HTML返回爲一個字符串
,我可以通過添加一個簡單的代碼片段,以確認之前執行檢索 數據內的任何嵌入的JavaScript html回覆:
<script type="text/javascript"> alert($(this)); </script>
那麼如何保留對js代碼的訪問與一次性完成執行?嘗試實現模態登錄(以防止在表單提交屏幕中會話超時時丟失數據)。當然,我需要能夠訪問ajax'd js代碼,然後驗證電子郵件/密碼字段和ajax驗證遠程服務器上的用戶憑據。
這裏的模態登錄CoffeeScript的片段:
# submit form
$.ajax
success: (data) -> ...
error: (data) ->
popAuth(data.responseText) if(data.status == 401)
popAuth = (title) ->
$.fancybox({
href: "/login"
ajax: { type: "GET" }
title: title
})
也許我可以成功的回調添加到popAuth()AJAX選項存儲返回的JS代碼?如何jQuery「現場」處理程序?不幸的是,這種情況下是不是直線前進的人們希望;-)我見過$.getScript
作爲一種選擇,但我們更希望從JS不是獨立的HTML,因爲服務器端已經組裝HTML + JS和原來的Ajax調用拉它一氣呵成。 (即避免創建一個專用的服務器端控制器來發回js文件內容包)
我當然會打開其他解決方案來解決此問題。例如,我可以存儲登錄字段和JS登錄驗證碼每個屏幕上(JVM CRUD應用生活背後WordPress的前端,每個屏幕基本上是身份驗證的要求)在一個隱藏的div,然後在彈出的模式登錄窗口中的「本地」,這我假設會繞過令人討厭的一次又一次完成遠程ajax內容的執行。
無論如何,意見讚賞!客戶端是非常簡單和...非常複雜;-)