Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.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 使用jquery和get请求更改文本_Javascript_Jquery_Ruby On Rails - Fatal编程技术网

Javascript 使用jquery和get请求更改文本

Javascript 使用jquery和get请求更改文本,javascript,jquery,ruby-on-rails,Javascript,Jquery,Ruby On Rails,我的javascript/jquery代码有什么问题 <%= link_to 'Click', '#', id: 'link' %><span id="new-data"></span> <script type="text/javascript" charset="utf-8"> $("#link").click(function(){ $.get('http://httpbin.org/get', { name: "John",

我的javascript/jquery代码有什么问题

<%= link_to 'Click', '#', id: 'link' %><span id="new-data"></span>


<script type="text/javascript" charset="utf-8">
  $("#link").click(function(){
    $.get('http://httpbin.org/get', { name: "John", time: "2pm" }).done(function(data) {
            $("#new-data").text(data);
});
});
</script>

$(“#链接”)。单击(函数(){
$.get('http://httpbin.org/get“,{name:“John”,time:“2pm”}).done(函数(数据){
$(“#新数据”)。文本(数据);
});
});

数据中保存的响应必须在立即回调中,而不是在
.done()
回调中,该回调仅在成功时执行,根本不包含响应。

问题可能是您使用的是绝对URL。有些浏览器将绝对URL视为跨域请求,即使它不是。尝试改用相对URL

$("#link").click(function(){
    $.get('/get', { name: "John", time: "2pm" }).done(function(data) {
            $("#new-data").text(data);
    });
});

这个代码应该可以工作:参考jquery文档,请找到它


$(“#链接”)。单击(函数(){
$.get(”http://httpbin.org/get“,{name:“John”,time:“2pm”},函数(数据){
$(“#新数据”)。文本(数据);
});
}

您看到了什么错误?
console.log(data);
查看您作为响应返回了什么。我没有收到任何错误。console.log显示了正确的响应,但#新数据的文本不会更改使用firefox控制台,我想您会自己解决的!
jqXHR.success()、jqXHR.error()和jqXHR.complete()从jQuery 1.8开始,jQuery 1.5中引入的回调方法已被弃用。要准备代码以便最终删除,请改用jqXHR.done()、jqXHR.fail()和jqXHR.always()。
。文本中的内容仍然不变。控制台显示响应正确,但不显示#newdata.text/changed@KhanhTO-是,但
.done()
不包含响应,只有
$中的立即回调。get
方法保存响应。请查看页面末尾的示例:
通过请求test.cgi向结果发出警报,并添加额外的数据负载(HTML或XML,具体取决于返回的内容)。
@spuggy,使用
.HTML()进行尝试
方法而不是
.text()
。我得到控制台中显示的正常响应,但不显示#newdata.text/changed@spuggy:如果可能,您应该将其更改为相对URL。这会更好,因为某些浏览器在绝对URL方面存在问题。这是改进代码的另一个建议。@spuggy:您是如何检查的?您使用了网络捕获或
console.log(data)
@spuggy:您的原始代码应该可以工作,只需要将其更改为相对URL,以避免某些浏览器出现问题。$(文档).on(“单击”,“链接”,函数(){$.get(“”,{name:“John”,time:“2pm”},函数(data){$(“#新数据”).html(数据);console.log(数据);});然后转到firebug控制台。好吗?
$("#link").click(function(){
    $.get('/get', { name: "John", time: "2pm" }).done(function(data) {
            $("#new-data").text(data);
    });
});
<script>

$("#link").click(function() {
 $.get("http://httpbin.org/get", { name: "John", time: "2pm" }, function  (data) {
    $("#new-data").text(data);
  });
}

</script>