【问题标题】:AJAX call url does not workAJAX 调用 url 不起作用
【发布时间】:2015-09-15 10:34:25
【问题描述】:

我正在设计一个网页来播放和控制可以向上/向下移动、放大/缩小等的 IP 摄像机。要进行这些移动,我们必须调用 url。当我从网络摄像头播放内容时,我必须异步执行这些调用。我试图用 AJAX 来做,但没有结果。

$(document).ready(function(){
    $("#up").click(function(){
        $.ajax({
            url: "http://192.168.1.101:88/cgi-bin/CGIProxy.fcgi?cmd=ptzMoveUp&usr=admin&pwd=", 
            success: function(result){
                $("#div1").html('Moving UP');
            }
        });
     });
 });
</script>

...

<button id="up" class="arrow" type="button"><b>UP</b></button>
...
<div id="div1"><h2>This text doesn't change</h2></div>

【问题讨论】:

  • http://192.168.1...
  • 尝试使用http://https://或只是//前缀
  • 你是不是在控制台出错了?
  • 我忘记了问题中的 http,但在我的代码中,它仍然不起作用
  • 根据我的服务器,连接以 192 开头的 IP 地址需要虚拟专用网 (VPN),为什么不能使用域名而不是 IP 地址?

标签: javascript jquery html ajax call


【解决方案1】:

您的 jQuery 选择器错误。变化:

$(".up").click(function(){....

. 暗示 up 是一个类)

到:

$("#up").click(function(){....

# 暗示 up 是一个 id)

进一步阅读 jQuery 选择器:

https://api.jquery.com/category/selectors/

【讨论】:

  • 感谢您的回答,但它仍然不起作用。我知道 # 用于 id 但我尝试了其他方法来修复它并在发布问题时忘记再次更改它
  • 好的,在这种情况下——熟悉开发者工具,监控发出的请求(“网络”选项卡)并检查是否正在发出 ajax 调用。如果是 - 有什么反应?可能是服务器正在返回一个错误(如果它甚至被到达)。在这种情况下,您没有“错误”处理程序 - 所以您永远不会知道。
  • 唯一的另一种可能性是事件处理程序尚未连接。在声明事件处理程序之后创建按钮元素时,可能会发生这种情况。使用 ajax 更新面板/注入元素时经常出现这种情况。虽然它比服务器的错误响应更罕见。
  • 这意味着您的呼叫无法到达服务器,因此以超时结束。所以这更像是服务器问题(如果您确定您的网址有效)或代理问题。
猜你喜欢
  • 2020-12-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-16
  • 2017-10-08
  • 1970-01-01
  • 2018-09-28
相关资源
最近更新 更多