Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/272.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 获取主机URL+;发生错误时的目标URL_Javascript_Php_Jquery_Ajax_Url - Fatal编程技术网

Javascript 获取主机URL+;发生错误时的目标URL

Javascript 获取主机URL+;发生错误时的目标URL,javascript,php,jquery,ajax,url,Javascript,Php,Jquery,Ajax,Url,我正在使用Ajax POST调用从位于另一台服务器上的文件中获取一些数据,但是我正在获取我的主机URL+目标URL作为我的Ajax URL的URL 我的主机URL:192.168.1.2 我的目标URL:192.168.1.7/var/www/html/pfe/ajax.php 如何仅获取目标URL var url = "192.168.1.7/var/www/html/pfe/ajax.php"; $("#c1.on").click(function () { $.ajax({

我正在使用Ajax POST调用从位于另一台服务器上的文件中获取一些数据,但是我正在获取我的主机URL+目标URL作为我的Ajax URL的URL

  • 我的主机URL:192.168.1.2
  • 我的目标URL:192.168.1.7/var/www/html/pfe/ajax.php
如何仅获取目标URL

var url = "192.168.1.7/var/www/html/pfe/ajax.php";    
$("#c1.on").click(function () {
$.ajax({
        url: url,
        type: 'POST',
        data: { on : true, pin : 16 },
        success: function(data){
            $("#c1.on").addClass("hide");
            $("#c1.off").removeClass("hide");
        }
    });
});

我得到的URL:192.168.1.2/192.168.1.7/var/www/html/pfe/ajax.php

URL语法不正确。如果URL中没有
/
,它将被视为与当前页面位于同一服务器上的文件名。因此,它应该是:

var url = "//192.168.1.7/var/www/html/pfe/ajax.php";    
/
表示下一个组件是服务器的名称或地址


并不是说,由于跨域AJAX受到限制,这可能仍然不起作用。

AJAX通常不允许跨域使用。如果您使用IP地址,任何不同的地址都会被视为不同的域。您还需要将
/
放在服务器名称或地址之前。否则,它将被视为路径的一部分,而不是服务器。感谢您的解释如果您可以访问两台有问题的服务器(您可能会看到您是如何在localhost上工作的),那么您可以进一步查看
访问控制允许来源
标题。这允许您在接收/响应服务器上设置和控制允许发送/接收外部AJAX跨域请求的用户(哪台服务器)。这是一个默认启用的安全功能。还有
跨域
方法:感谢您的帮助:)是否有任何解决方案可以使用从一台服务器到另一台服务器的ajax调用?关于跨域ajax有数百个问题。读一些。