【发布时间】:2012-09-12 15:03:56
【问题描述】:
我正在尝试使用我新设置的 RESTful WCF 服务,该服务位于
[http://196.34.92.60/api/api/v1/public.svc/getoperators]
我使用一些第三方工具访问它,我从这些工具中获取
http://code.google.com/a/eclipselabs.org/p/restclient-tool/
https://addons.mozilla.org/en-US/firefox/addon/restclient/
我的结果和我预期的一样:
{
"Results":
[
"golden arrow",
"jammie",
"myciti"
]
}
一切顺利。当我只是在我的网络浏览器中输入 url 时,响应是
<ResultList xmlns="http://schemas.datacontract.org/2004/07/Developer_Portal"xmlns:i="http://www.w3.org/2001/XMLSchema-instance"><Results xmlns:a="http://schemas.microsoft.com/2003/10/Serialization/Arrays"><a:string>golden arrow</a:string><a:string>jammie</a:string><a:string>myciti</a:string></Results></ResultList>
不是我的预期,但我认为这是正常的,并尝试在 Javascript 中使用服务(这里是小提琴)
它以错误响应。在这一点上,我很难过:我需要做什么才能在 javascript 中获得所需的响应?
【问题讨论】:
-
只能调用JS来自的域,防止XSS。例如。位于 jsfiddle.net 上的脚本将不允许调用您的域/IP。
-
两件事:1)同源策略,2)“接受”请求头告诉服务器它应该返回什么格式。
-
我刚刚从本地 html 页面尝试了相同的 javascript,并将行 Accepts: "application/json" 添加到第 16 行的 ajax 请求中。这似乎没有任何区别。