我打算创建一个小型api,它将执行一些php功能,但只能通过js实现。
我想创建一个与 facebook sdk 类似的解决方案。
所以我创建了一个名为rest.php的php文件
和一个名为 conjs.js 的 js 文件,现在我需要从 conjs.js 文件执行 ajax 请求,但在尝试请求 ajax 请求时收到未定义的消息。
1)我应该如何构建这个?
2)我做错了什么?
rest.php
<?php
echo "Hello from ".$_GET['name'];
?>
conjs.js --> 包含在客户端的html页面上(类似于
connect.facebook.net/en_US/all.js(关闭 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>
提前致谢:)
最佳答案
您需要使用callback由于ajax的asynchronous自然。
回调是一个函数,它作为参数传递给另一个在感兴趣的点执行回调的函数。在下面的例子中,它位于 ajax 响应的成功 block 中,这被认为有趣。
试试这个:
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>
关于javascript - 带有 JS 客户端的 REST API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9863856/