使用JS-Client的REST API

时间:2012-03-25 20:41:06

标签: javascript ajax rest

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

rest.php

<?php 

echo "Hello from ".$_GET['name'];
?>

conjs.js - &gt;包含在客户端的html页面上(类似于

connect.facebook.net/en_US/all.js off facebook)

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

客户端smaple html页面: - 不在域名 -

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

提前致谢:)

2 个答案:

答案 0 :(得分:3)

由于ajax的callback性质,您需要使用asynchronous

回调是一个函数,它作为参数传递给另一个在有趣点执行回调的函数。在下面的例子中,它位于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>

答案 1 :(得分:1)

AFAIK $ _GET []区分大小写。因此,要么发送小写'name = John',要么读取正确的$ _GET ['Name']