Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/383.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.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 jsonp和REST得到调用_Javascript_Jquery_Ajax_Rest_Jsonp - Fatal编程技术网

Javascript jsonp和REST得到调用

Javascript jsonp和REST得到调用,javascript,jquery,ajax,rest,jsonp,Javascript,Jquery,Ajax,Rest,Jsonp,我有两个项目,一个旧的,可以用,一个新的。两个项目都必须进行跨域调用 在旧项目中,我使用jsonp与服务器对话并获得响应,例如: var myUrl = "http://www.myserver.whatever/somepage.php"; jsonp(myUrl, "ajaxResponse"); function ajaxResponse(data) { alert(data.response); } 在我新的完全不相关的项目中,我必须与服务人员交谈。该网页是客户端上与软件供应商编写的

我有两个项目,一个旧的,可以用,一个新的。两个项目都必须进行跨域调用

在旧项目中,我使用jsonp与服务器对话并获得响应,例如:

var myUrl = "http://www.myserver.whatever/somepage.php";
jsonp(myUrl, "ajaxResponse");

function ajaxResponse(data) { alert(data.response); }
在我新的完全不相关的项目中,我必须与服务人员交谈。该网页是客户端上与软件供应商编写的CentOS守护进程对话的本地文件。我可以通过REST GET调用与守护进程通信。调用的一个示例是,当我在Mozilla Firefox浏览器窗口中输入以下内容时,它可以工作:

本地主机:8080/mfds/info

我认为与守护进程通信的最简单方法是通过jsonp,就像我之前所做的那样,因此:

var myUrl = "http://localhost:8080/mfds/info";
jsonp(myUrl, "ajaxResponse2");

function ajaxResponse2(data) { alert(data.response); }
遗憾的是,我从未使用过ajaxResponse2函数。我做错了什么?jsonp不是REST GET调用吗?如何修复代码

我正在使用:

<script type="text/javascript" src="js/jsonpCrossDomain.js"></script>
来自$.ajax调用的错误消息:


{readyState:0,状态:0,状态文本:[异常…\\nsresult:\0x805e0006\location:\js frame::file:///home/user/Documents/myproejct/js/jquery-2.0.3.min.js ::第6行\data:no]}

jsonp本质上只是一个javascript文件请求。有效的jsonp响应是javascript,它使用包含所需数据的参数执行特定函数。如果服务没有返回有效的jsonp,那么就不能使用jsonp。远程服务必须支持jsonp。看起来这个没有。您的最佳选择可能是服务器端代理。您是对的。守护进程端不支持jsonp。我没有意识到双方都必须给予支持。有人特别告诉我,只有休息时间。仍然存在跨域问题。我不知道你所说的服务端代理是什么意思。创建一个ajax调用,调用服务器上的服务,该服务调用远程服务,并将响应传回。这是因为服务器端跨域调用不受同源策略的限制;创建守护进程并与之交互,以及其他一切。我只想通过JavaScript进行跨域跨端口的调用。
$.ajax({
    url: 'localhost:8080/mfds/info',
    type: "GET",
    dataType: "html",
    error: function (error)
    {
        alert(JSON.stringify(error));
    },
    complete: function (data_response)
    {

        alert(data_response.responseText);
    },
    success: function (data)
    {
        alert(data);
    }
});