使用Javascript(AJAX)向Symfony2中的路由发送请求
我有一个正在工作的Symfony2 RESTful Web服务原型,我仍在工作,我正在试图弄清楚客户端如何从Web服务发送JSON或使用JSON数据。我所需要的只是一个关于如何向其发送请求或发布数据的示例,其余的我都能理解。如果我访问使用Javascript(AJAX)向Symfony2中的路由发送请求,javascript,php,ajax,json,symfony,Javascript,Php,Ajax,Json,Symfony,我有一个正在工作的Symfony2 RESTful Web服务原型,我仍在工作,我正在试图弄清楚客户端如何从Web服务发送JSON或使用JSON数据。我所需要的只是一个关于如何向其发送请求或发布数据的示例,其余的我都能理解。如果我访问http://localhost/app_dev.php/users.json,我从数据库中以JSON的形式获得正确的结果,例如。 [{“id”:1,“用户名”:“保罗”,“用户名”\u规范“:“保罗”,“电子邮件”:”a@ymail.com,“电子邮件规范”:a@
http://localhost/app_dev.php/users.json
,我从数据库中以JSON的形式获得正确的结果,例如。
[{“id”:1,“用户名”:“保罗”,“用户名”\u规范“:“保罗”,“电子邮件”:”a@ymail.com,“电子邮件规范”:a@ymail.com,“enabled”:true,“salt”:“66r01”,“password”:“UCxSG2v5uddROA0Tbs3pHp7AZ3VMV”,“last_login”:“2013-12-03T13:55:15-0500”,“locked”:false,“expired”:false,“credentials_expired”:false,“first_name”:“Monique”,“last_name”:“Apple”},等等
所有其他路由都正常工作,我可以通过使用httpie或cURL获得相同的结果。现在,我试图解决的问题是使用AJAX(以及更高版本的移动iOS、Android等)获得相同的JSON数据。以下是我使用AJAX JS的尝试:
<script type="text/javascript" src="http://code.jquery.com/jquery-1.7.1.min.js"></script>
<script type="text/javascript">
$.ajax({
dataType: "json",
type: "GET",
url: "http://192.168.1.40/symfony/web/app_dev.php/users.json",
success: function (responseText)
{
alert("Request was successful, data received: " + responseText);
},
error: function (error) {
alert(JSON.stringify(error));
}
});
</script>
$.ajax({
数据类型:“json”,
键入:“获取”,
url:“http://192.168.1.40/symfony/web/app_dev.php/users.json",
成功:函数(responseText)
{
警报(“请求成功,收到数据:“+responseText”);
},
错误:函数(错误){
警报(JSON.stringify(错误));
}
});
AJAX会警告以下指示错误的结果:
{“readyState”:0,“responseText”:“status”:0,“statusText”:“error”}
我做错了什么以及如何解决问题。请给出一个示例。这是一个跨域请求问题。您需要向您所在的域发出请求。这是浏览器级别的安全功能
例如,您只能在
http://192.168.1.40
如果您当前在http://192.168.1.40
。这意味着来自http://192.168.1.39
(例如)不起作用不是问问题的人,但我肯定不是。此安全功能是在浏览器级别实现的。谢谢!谢谢!解决了问题。