Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/409.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/ajax/6.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 带JS客户端的restapi_Javascript_Ajax_Rest - Fatal编程技术网

Javascript 带JS客户端的restapi

Javascript 带JS客户端的restapi,javascript,ajax,rest,Javascript,Ajax,Rest,我打算创建一个小api,它将执行一些php功能,但只能由js实现。 我想创建一个类似于facebook sdk的解决方案。 因此,我创建了一个名为rest.php的php文件 还有一个js文件nammed conjs.js现在我需要从conjs.js文件执行一个ajax请求,但是我在尝试请求ajax请求时得到一个未定义的参数。 1)我应该如何构建它? 2) 我做错了什么? rest.php <?php echo "Hello from ".$_GET['name']; ?> 客

我打算创建一个小api,它将执行一些php功能,但只能由js实现。
我想创建一个类似于facebook sdk的解决方案。
因此,我创建了一个名为rest.php的php文件
还有一个js文件nammed conjs.js现在我需要从conjs.js文件执行一个ajax请求,但是我在尝试请求ajax请求时得到一个未定义的参数。
1)我应该如何构建它?
2) 我做错了什么?

rest.php

<?php 

echo "Hello from ".$_GET['name'];
?>
客户端示例html页面:-不在域上-

<html><head> <script src="http://mydomain/conjs.js"></script></head><body>
<script>
alert(getDev());
</script>
</body></html>

警报(getDev());
提前感谢:)

由于ajax的特性,您需要使用

回调是作为参数传递给另一个函数的函数,该函数在感兴趣的点执行回调。在下面的例子中,它位于ajax响应的成功块中,这被认为是有趣的

试试这个:

function getDev(callback){
$.ajax({
    url: 'http://mydomain.com/rest/rest.php',
    type: 'GET',
    data: 'Name=John', // or $('#myform').serializeArray()
    success: function(data) { 
        callback('Get completed '+data); 
    }
});
}
稍后致电时:

<script type="text/javascript">
getDev(function (response) {
    alert(response);
});
</script>

getDev(函数(响应){
警报(响应);
});
由于ajax的特性,您需要使用

回调是作为参数传递给另一个函数的函数,该函数在感兴趣的点执行回调。在下面的例子中,它位于ajax响应的成功块中,这被认为是有趣的

试试这个:

function getDev(callback){
$.ajax({
    url: 'http://mydomain.com/rest/rest.php',
    type: 'GET',
    data: 'Name=John', // or $('#myform').serializeArray()
    success: function(data) { 
        callback('Get completed '+data); 
    }
});
}
稍后致电时:

<script type="text/javascript">
getDev(function (response) {
    alert(response);
});
</script>

getDev(函数(响应){
警报(响应);
});

AFAIK$\u GET[]区分大小写。因此,发送小写字母“name=John”或读取正确的$\u-GET['name']

AFAIK$\u-GET[]区分大小写。因此,发送小写字母“name=John”或读取正确的$\u GET['name']

您是从同一个域请求的吗?@Archimedix否,关键是从远程域发出请求。您是从同一个域请求的吗?@Archimedix否,关键是要从一个遥远的领域来做这件事。我能读到关于这种“自然”的文章吗?@agam360看看我答案中的链接。如果你用谷歌搜索“javascript+回调”,你会得到很多好的结果。例如:它不起作用,它什么也不做。。。我想这是因为同一原产地政策。有没有关于这种“自然”的文章我可以读到?@agam360看看我答案中的链接。如果你用谷歌搜索“javascript+回调”,你会得到很多好的结果。例如:它不起作用,它什么也不做。。。我想这是因为同一原产地政策。