Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/397.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.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 如何利用ResponseText_Javascript_Jquery_Json - Fatal编程技术网

Javascript 如何利用ResponseText

Javascript 如何利用ResponseText,javascript,jquery,json,Javascript,Jquery,Json,序言:请原谅,因为我对处理JSON是个新手 我目前正在使用Rails和jQuery通过JSON检索一些数据。我能够成功地从我的控制器抓取数据,但我似乎什么也做不了 index.html.erb 服装控制器.rb 当我点击$(“#click”)链接,查看我的Firebug控制台时,它成功地查询了控制器,没有任何错误,并将响应显示为蓝色 但是,我无法使用此响应执行任何操作,例如警报(响应)或$(“#我的输入”).val(响应) 有没有关于我这里做错了什么的想法?在输出响应之前,您可能需要对响应执行J

序言:请原谅,因为我对处理JSON是个新手

我目前正在使用Rails和jQuery通过JSON检索一些数据。我能够成功地从我的控制器抓取数据,但我似乎什么也做不了

index.html.erb 服装控制器.rb 当我点击
$(“#click”)
链接,查看我的Firebug控制台时,它成功地查询了控制器,没有任何错误,并将
响应显示为
蓝色

但是,我无法使用此响应执行任何操作,例如
警报(响应)
$(“#我的输入”).val(响应)


有没有关于我这里做错了什么的想法?

在输出响应之前,您可能需要对响应执行JSON.stringify()


查看此链接

好的,我找到了。结果表明,它在JSON请求之后触发了“错误”,而不是成功,尽管它的响应状态为
200

因此,我找到了这篇文章,解释如何添加
:success=>“success”
。因此,我将控制器代码更改为:

respond_to do |format|
 format.json { render :json => { :success => "success", :status_code => "200", :color => @color } }
end

这就成功了

你的回答是什么样的?它是字符串还是对象?您是否尝试过定义
error:function()
并查看它是否有任何作用?请尝试console.log(response)以查看响应的外观。我添加了“error”函数,该函数似乎正在启动。但是当我执行
console.log(repsonse)
(在错误函数中)时,它会显示状态“OK”和状态(200)。
$( "#click" ).on( "click", function(e) {
   e.preventDefault();
   $.ajax({
    type: "GET",
    dataType: "json",
    url: "/clothing/get_color",
    success: function(response){
        alert(response);
    }
   })
});
 def get_color
    #Query goes here

    respond_to do |format|
        format.html
        format.json { render :json => @color, status: :ok }
    end
 end
respond_to do |format|
 format.json { render :json => { :success => "success", :status_code => "200", :color => @color } }
end