jquery get可以在本地主机上工作,但不能在其他站点上工作

jquery get可以在本地主机上工作,但不能在其他站点上工作,jquery,get,Jquery,Get,嗨,我有个问题 这是我的代码,它在我写的时候起作用”http://localhost“并检索内容,但当我编写其他网站时,如”http://www.google.com“它不起作用。 我已经在我的网络主机上传了代码供你们测试。 这里是链接。 在这里你可以看到我的代码: <!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title>Untitled Document</titl

嗨,我有个问题 这是我的代码,它在我写的时候起作用”http://localhost“并检索内容,但当我编写其他网站时,如”http://www.google.com“它不起作用。 我已经在我的网络主机上传了代码供你们测试。 这里是链接。 在这里你可以看到我的代码:

<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>Untitled Document</title>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js" type="text/javascript"></script>
</head>

<body>
<input type="text" name="field1" id="field1" value="http://localhost">

<input value="load" type="button" onClick="my_function()">


<textarea cols="15" rows="12" id="frame1" style="float:left"></textarea>
<div id="frame2" style="width:400px;height:400px;overflow:scroll;fl  oat:left"></div>


<script type="text/javascript">
function my_function()
{
    if($("#field1").val() != '' && $("#field1").val().indexOf("http",0) == 0)
    {

        $.get($("#field1").val(),function(data)
        {
            $("#frame1").html(data)
            $("#frame2").html(data)
        })

    }
}
</script>
</body>
</html>

无标题文件
函数my_函数()
{
if($(“#field1”).val()!=''&$(“#field1”).val().indexOf(“http”,0)==0)
{
$.get($(“#field1”).val(),函数(数据)
{
$(“#frame1”).html(数据)
$(“#frame2”).html(数据)
})
}
}

Tnx。您不能通过这种方式从其他来源访问内容。出于安全原因,这是不允许的。另见:


如果您检查浏览器的控制台,您可以很容易地看到这种类型的问题。

您无法通过这种方式从其他来源访问内容。出于安全原因,这是不允许的。另见:


如果您检查浏览器的控制台,您可以很容易地看到这种类型的问题。

如果您有权访问curl,您可以设置对curl的调用以检索数据或地址

curl是大多数Linux发行版上可用的bash工具。可以在这里找到

您要做的是通过ajax设置一个本地请求,将结果传递到使用curl获取的站点。在大多数脚本语言中,Curl可以通过shell来调用。若你们已经安装了curl并且需要脚本方面的帮助,请告诉我我和langauges可能会提供哪些帮助

好吧,她是一个解释。当我这样做的时候,它可能不适合你,它是在ruby sinatra中,它非常容易设置路径和捕获链接的参数。在php中可能会有点困难

首先,您需要某种方法来设置调用使用curl的php脚本的本地路径。最简单的方法是向web路径添加一个文件(取决于web服务器和框架)

在文件curl_test.php中,您可以执行以下操作:

$response = system('curl www.google.se', $returnvalue);
echo($response)
然后设置ajax请求以运行该脚本,如下所示:

$.ajax({
  url: "localhost/curl_test.php",
  data: data,
  success: success,
  dataType: dataType
});
接下来的诀窍是如何将正确的数据放在数据部分,这样您就可以将get变量发送到curl脚本,但是如果您想要一个ruby sinatra示例,我会让您解决这个问题

get '/data/:brand' do
  data_link =  "https://someplace.com/brands/#{params[:brand]}"
  c = Curl::Easy.perform(data_link)
  content_type :json
  c.body_str
end

如果您有权访问curl,您可以设置对curl的调用来检索数据或地址

curl是大多数Linux发行版上可用的bash工具。可以在这里找到

您要做的是通过ajax设置一个本地请求,将结果传递到使用curl获取的站点。在大多数脚本语言中,Curl可以通过shell来调用。若你们已经安装了curl并且需要脚本方面的帮助,请告诉我我和langauges可能会提供哪些帮助

好吧,她是一个解释。当我这样做的时候,它可能不适合你,它是在ruby sinatra中,它非常容易设置路径和捕获链接的参数。在php中可能会有点困难

首先,您需要某种方法来设置调用使用curl的php脚本的本地路径。最简单的方法是向web路径添加一个文件(取决于web服务器和框架)

在文件curl_test.php中,您可以执行以下操作:

$response = system('curl www.google.se', $returnvalue);
echo($response)
然后设置ajax请求以运行该脚本,如下所示:

$.ajax({
  url: "localhost/curl_test.php",
  data: data,
  success: success,
  dataType: dataType
});
接下来的诀窍是如何将正确的数据放在数据部分,这样您就可以将get变量发送到curl脚本,但是如果您想要一个ruby sinatra示例,我会让您解决这个问题

get '/data/:brand' do
  data_link =  "https://someplace.com/brands/#{params[:brand]}"
  c = Curl::Easy.perform(data_link)
  content_type :json
  c.body_str
end

通常,你不能。现在,有一个新的特性称为CORS(),它将在以后的浏览器上工作,但前提是您试图访问的资源允许它。如果您需要访问提要,可以通过JSON-P访问。这并不能直接绕过限制,这有点像黑客。最好的办法是设置一个服务器端代理。通常情况下,你不能。现在,有一个新的特性称为CORS(),它将在以后的浏览器上工作,但前提是您试图访问的资源允许它。如果您需要访问提要,可以通过JSON-P访问。这并不能直接绕过限制,这有点像黑客。最好的办法是设置一个服务器端代理。jQuery托管在google的cdn上不应该是“
https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js
托管在谷歌cdn上的jQuery不应该是“
https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js
是的,幸运的是我有卷发在我的服务器中。是的,你可以,它是用php。你能用php语言的一些代码解释你的想法吗?还请告诉我,我的问题是否能用iframe而不是div元素解决。谢谢。是的,幸运的是我的服务器中有CURL。是的,你可以,它是用php编写的。你能用php语言的一些代码来解释你的想法吗?请告诉我,我的问题是否可以用iframe而不是div元素来解决。谢谢。