簡體   English   中英

Rails 5.2.1 UJS:javascript響應正在呈現文本而不是被執行

[英]Rails 5.2.1 UJS: javascript response is rendering text instead of being executed

我查看了這個問題的許多其他答案,但沒有一個對我有用。

給定這種形式:

<form data-remote="true" method="POST" accept-charset="UTF-8" action="/admin/audiences/search/industry.js">
  <div class="form-group">
    <input data-target="lookup.value" type="text" class="form-control" id="q" name="q" placeholder="Start typing to search...">
  </div>
</form>

在該字段中鍵入內容后按回車鍵將在控制台中出現以下錯誤: Resource interpreted as Document but transferred with MIME type text/javascript ,並且正確的javascript在瀏覽器中呈現為文本,而不是通過data-remote='true'預期為data-remote='true'

服務器響應為:

Started POST "/admin/audiences/search/industry.js" for 127.0.0.1 at 2018-11-19 10:29:04 -0500
Processing by Admin::AudiencesController#search as JS
  Parameters: {"q"=>"a", "type"=>"industry"}
  User Load (0.5ms)  SELECT  "users".* FROM "users" WHERE "users"."id" = $1 ORDER BY "users"."id" ASC LIMIT $2  [["id", 1], ["LIMIT", 1]]
  ↳ /Users/timsullivan/.rvm/gems/ruby-2.5.1/gems/activerecord-5.2.1/lib/active_record/log_subscriber.rb:98
   (36.6ms)  SELECT DISTINCT "salesforce"."account"."industry" FROM "salesforce"."account" WHERE (industry ilike '%a%')
  ↳ app/controllers/admin/audiences_controller.rb:89
  Rendering admin/audiences/search.js.erb
  Rendered admin/audiences/search.js.erb (0.5ms)
Completed 200 OK in 90ms (Views: 12.4ms | ActiveRecord: 37.1ms)

請注意,服務器正確識別出它是一個JS請求,並正在返回JS響應,甚至瀏覽器也意識到它正在獲得JS,它只是將其呈現為文檔。

頁面上的其他UJS元素都可以正常工作,僅此rails_ujs ,因此rails_ujs至少在rails_ujs可以正常工作。 最糟糕的是,此USED在我進行一些更改之前就可以工作,並且撤消這些更改並不能解決問題。

與我的許多問題一樣,最近,這一問題令人尷尬:

嵌套的HTML表單:您不能擁有它們。

我的意思是,我知道這一點,但是問題中的表格是動態插入頁面的,在這種情況下,它恰好屬於表格。 因此,它沒有被UJS正確吸引,並且根本沒有AJAX發送請求。

從好的方面來說,我現在比其他凡人更了解UJS的工作原理。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM