Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Rails正在将返回的JSON更改为HTML_Javascript_Ruby On Rails_Json - Fatal编程技术网

Javascript Rails正在将返回的JSON更改为HTML

Javascript Rails正在将返回的JSON更改为HTML,javascript,ruby-on-rails,json,Javascript,Ruby On Rails,Json,当我的Rails应用程序中的API调用返回JSON时,我得到以下响应: "{\"stdout\":\"2\\n\",\"stderr\":\"\",\"wallTime\":241,\"exitCode\":0}" $(document).rea

当我的Rails应用程序中的API调用返回JSON时,我得到以下响应:

"{\"stdout\":\"2\\n\",\"stderr\":\"\",\"wallTime\":241,\"exitCode\":0}"
$(document).ready ->
  $(".edit_code_lesson").on("ajax:success", (e, data, status, xhr) ->
    result = JSON.parse(data)
    alert(result);
  ).bind "ajax:error", (e, xhr, status, error) ->
    console.log(status + '\n ' + error);
    console.log(xhr);
当它看起来像这样时:

{"stdout": "2\n", "stderr": "", "wallTime": 241, "exitCode": 0}
考虑到响应是用JavaScript处理的,我如何改变这一点

处理响应的JS:

"{\"stdout\":\"2\\n\",\"stderr\":\"\",\"wallTime\":241,\"exitCode\":0}"
$(document).ready ->
  $(".edit_code_lesson").on("ajax:success", (e, data, status, xhr) ->
    result = JSON.parse(data)
    alert(result);
  ).bind "ajax:error", (e, xhr, status, error) ->
    console.log(status + '\n ' + error);
    console.log(xhr);
在检查了
xhr
之后,我注意到返回了HTML格式的JSON。正在抛出语法错误

这是获取API的控制器:

def evaluate
  @code_lesson = CodeLesson.find(params[:code_lesson][:id])
  @language = Language.find(@code_lesson.language_id).slug
  @sandie = Sandie.new(language: @language)
  @code = @sandie.evaluate(code: params[:code_lesson][:user_code]).to_json
end

它到底是在哪里出现的?已经在控制器中了吗?或者在你的网站上的某个地方?您可以使用

<% raw @some_stuff %>



避免这种转换。(如果@some_stuff已经是一个字符串)。你想在那里做什么?只需将其呈现为HTML或生成JSON对象?

在控制器中,执行以下操作:

render :json => your_params, :status => 200

您使用的是JSON模块还是手工构建?@dandavis不太理解这个问题?我正在使用API包装器