それはばかげた質問かもしれません。その場合は申し訳ありません。
最新のjquery-rails gem「1.0.12」を使用したRails 3アプリケーションで、ajax呼び出しからhtmlを置き換えようとしています
$.ajax({
type: "POST",
cache: false,
url: url,
data: data,
error: function(jqXHR, textStatus, errorThrown){
console.log(jqXHR);
console.log(textStatus);
console.log(errorThrown);
},
success: function(msg){
alert('Load was performed.');
}
});
コントローラーから、js.erb ファイルの htm コードを使用して ajax 呼び出しに応答します。js.erb ファイルの内容は次のとおりです。
<img src="<%=@test%>" id="<%=@test_id%>">
応答は受信されますが、parseerror エラーがトリガーされます。応答のヘッダーのコンテンツ タイプは次のとおりです。
Content-Type:text/javascript; charset=utf-8
エラー コールバックの jqXHR 応答にはこれが含まれます
Object
abort: function ( statusText ) {
always: function () {
complete: function () {
done: function () {
error: function () {
fail: function () {
getAllResponseHeaders: function () {
getResponseHeader: function ( key ) {
isRejected: function () {
isResolved: function () {
overrideMimeType: function ( type ) {
pipe: function ( fnDone, fnFail ) {
promise: function ( obj ) {
readyState: 4
responseText: "<img src="/images/author_tests/copywriter_photo_2.jpg" id="copywriter-test-4e1c3eb5e09c1657fb000003">"
setRequestHeader: function ( name, value ) {
status: 200
statusCode: function ( map ) {
statusText: "parsererror"
success: function () {
then: function ( doneCallbacks, failCallbacks ) {
__proto__: Object
dataType をtextに設定しようとしましたが、そうするとサーバーがエラーをスローします
ActionView::MissingTemplate (Missing template [.....] with {:locale=>[:"en-US", :"en-US"], :handlers=>[:rhtml, :rxml, :builder, :haml, :erb, :rjs], :formats=>[:text, "*/*"]}
私が間違っていることは何ですか?