jQuery$.post函数未命中服务器?错误响应失败

jQuery$.post函数未命中服务器?错误响应失败,jquery,Jquery,我正在尝试访问具有内置web服务器的控制处理器。基于编入控制器的特定值,我能够通过使用jQuery或js的内置服务器上的网站触发操作。但是我对jquerypost命令有一个问题。当我使用goggle的REST插件时,一切正常,我成功地得到了响应。有什么想法吗 function GetVariableValuesByName(name) { $.post("http://10.10.254.11/RPC/", { method: "GetVariableValuesByNa

我正在尝试访问具有内置web服务器的控制处理器。基于编入控制器的特定值,我能够通过使用jQuery或js的内置服务器上的网站触发操作。但是我对jquerypost命令有一个问题。当我使用goggle的REST插件时,一切正常,我成功地得到了响应。有什么想法吗

function GetVariableValuesByName(name) {
    $.post("http://10.10.254.11/RPC/", {
        method: "GetVariableValuesByName",
        param1: name,
        encoding: "2"
    }).done(function (data) {
        data = String(data);
        var info = data.responseText;
        alert(info);
    }).fail(function (data) {
        data = String(data);
        alert("error " + data)
    }).always(function (data) {
        data = String(data);
        alert("just in case " + data);
    });
}
最后一个函数示例假设我已经创建了xmlhttp对象

function GetVariableValuesByName(name) {

$.ajax({
type: "POST",
url: "http://10.10.254.11/RPC/",
data: { method: "GetVariableValueByName", param1: "VOL_BAR", encoding: "2" }
}).done(function( msg ) {
    alert( "Data Saved: " + msg );
}).fail(function(msg) {
    alert("error " + msg)
});
}

function GetVariableValuesByName(name) {

xmlhttp.open("POST","http://10.10.254.11/RPC/",false);
var theString = "method=GetVariableValueByName&param1=" + name;
xmlhttp.setRequestHeader ("Content-Type", "application/x-www-form-urlencoded");
xmlhttp.send(theString);    
var wacivar = xmlhttp.responseText; 
wacivar = String(wacivar);
wacivar = wacivar.substr(19);

alert(wacivar);
}

您使用的是同源策略,这意味着您可以向另一个域发出AJAX请求,但无法读取响应(这就是您不触发回调的原因)。这里的解决方案是使用(在服务器端向HTTP响应添加额外的头)或(使用JSONP回调生成自定义响应)。我建议您使用CORS,因为它提供了更好的错误处理,而JSONP更像是一种黑客

如果您想使用CORS,请将Wikipedia文章中描述的标题添加到必须跨域的响应中


您要求提供一个解决方案示例,但该解决方案必须在JSONP和CORS的服务器端实现。

您如何确认它没有影响服务器?没有响应或响应失败并不一定意味着它没有击中服务器。你有没有尝试查看出站流量?对不起,伙计们,我已经在这个项目上工作了几个星期,我很累。控制器有一个内置的Web服务器,但速度很慢,所以我将我的站点卸载到我办公室周围的apache盒子中。看起来我从apache box运行命令并调用控制器的内置服务器时存在安全问题。有什么想法吗?@RoyJ我们需要一个在堆栈溢出上带有“同源策略[链接]”的横幅。这至少每天出现一次!具体如何实施?目录里有我可以放的文件或东西吗?请原谅我的疏忽您的服务器端语言是什么?php?在php中,您必须为响应设置HTTP头,如这里所述,在控制器上的内置服务器上,我无权更改任何配置文件,也无法在其上运行php。如果需要,我可以添加文本文件,比如apcache文件,但基本上就是这样。它还将从.asp执行服务器端包含。在apache服务器上,它只是一个apache服务器。现在我没有任何额外的安装。对不起,如果我把你和PHP混淆了。据我所知,您的服务器端语言是ASP。下面是如何在ASP中实现的