如何将jQuery.get()与完全限定的URL一起使用

如何将jQuery.get()与完全限定的URL一起使用,jquery,syntax,Jquery,Syntax,我对jQuery(以及AJAX)是新手,我正试图掌握get/post/AJAX方法的工作原理。因此,我创建了一个简单的.html页面,其中包含以下jQuery语句: function myImport() { var url = '../rawdata.txt'; $.get(url, function (data) { $('#importedHtml').text(data); }); } 您会注意到url变量被设置为一个名为“rawdata

我对jQuery(以及AJAX)是新手,我正试图掌握get/post/AJAX方法的工作原理。因此,我创建了一个简单的.html页面,其中包含以下jQuery语句:

function myImport() {
    var url = '../rawdata.txt';
    $.get(url, function (data) {    
        $('#importedHtml').text(data);
    });
}
您会注意到url变量被设置为一个名为“rawdata.txt”的本地文件。此文件正好包含以下数据:

0,Sun 18:32:56,0,
1,999 uS,1,
2,4561 F,0,
3,3.4,1,
4,3.3,1,
5,0.0%,0,
15,0 G,1,
16,0 G,1,
19,18.55hrs,3,
27,Setpoints,3,
28,ON:  50.16hrs,0,
29,Interlocked S,3,
30,Interlocked S,3,
31,Interlocked S,3,
如您所见,当myImport()函数被激发时,.get()方法将获取本地rawdata.txt文件,然后在html元素中显示该文件的内容。这一切都很好

但是,我想使用.get()方法从实时web服务器(不是本地文件)获取数据,但是当我尝试这样做时,服务器没有响应。我确信,web服务器已启动并正确响应请求(通过常规浏览器)。因此,在这一点上,我不确定我是否正确使用了.get()方法,或者其他什么

例如:

更新后的jQuery语句如下所示:

function myImport() {
    var url = 'http://173.196.155.45/taco.cgi?F0=AV&F1=4564';
    $.get(url, function (data) {
        $('#importedHtml').text(data);
    });
}
您会注意到唯一的区别是'url'变量的值。url变量现在指向一个实时web服务器。url请求将使用与“rawdata.txt”文件中存在的数据相似的数据进行响应

您会注意到,如果访问,您将得到纯文本的响应(没有HTML语法、标题等,只有一个数据字符串)。但是,如果要运行jQuery示例,则.get()方法的“data”变量中没有内容


我在包含live url的脚本中使用的.get()方法是否错误?更具体地说,我如何使用jQuery获取位于的数据?

如果您的HTML文件是本地的,但数据文件是远程的,那么您就违反了“跨源”安全策略

这些要求从与原始HTML文件相同的域提供AJAX请求

要解决此问题,请执行以下操作之一:

  • 使用JSONP,它通过使用
    标记来破坏策略,或者
  • 请看从CGI脚本中提供标题