2012-03-25 2 views
0

Я намереваюсь создать небольшой api, который будет выполнять некоторые php-функции, но может быть реализован только js.
Я хочу создать аналогичное решение для facebook sdk.
Итак, я создал файл php с именем rest.php
и файл js nammed conjs.js теперь мне нужно выполнить запрос ajax из файла conjs.js, но при попытке запросить запрос ajax я получаю неопределенный запрос.
1) Как мне это построить?
2) Что я делаю неправильно?
REST API с JS-клиентом

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); } 
}); 
} 

Client smaple HTML страницы : -не на Домена

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

Спасибо заранее :)

+0

Вы запрашиваете тот же домен? – Archimedix

+0

@Archimedix Нет, все дело в том, чтобы сделать это из удаленного домена – funerr

ответ

3

Вы должны использовать callback из-за asynchronous природы Аякса.

A callback - это функция, передаваемая в качестве аргумента другой функции, выполняющей обратный вызов в интересной точке. В приведенном ниже примере он находится в блоке успешности ответа 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> 
+0

А, и что :) –

+0

Есть ли какие-нибудь статьи, которые я мог бы прочитать о том, что касается этой «природы»? – funerr

+1

@ agam360 Посмотрите ссылки в моем ответе. Если вы google «javascript + callback», вы получите много хороших результатов. Например: http://recurial.com/programming/understanding-callback-functions-in-javascript/ –

1

AFAIK $ _GET [] чувствителен к регистру. Поэтому либо отправляйте строчку «имя = Джон», либо читайте правильные $ _GET ['Name']

+0

Да, я забыл это;) – funerr