我目前正在阅读Adam Freeman的“ Pro
AngularJS”。在阅读这些示例时,他让读者使用Angular(当然)与Deployed服务器资源一起创建了运动商店应用。部署资源已设置为返回要填充到模型中的JSON数据。我正在使用NodeJS运行服务器。当前在端口5000(http://localhost:5000/sportsstore/app.html
)上设置。部署的资源正在端口5500(http://localhost:5500/products
)上运行。当点击已部署时,响应如下:
[
{ "name": "Kayak", "description": "A boat for one person", "category": "Watersports", "price": 275, "id": "a1c999fc248b2959" },
{ "name": "Lifejacket", "description": "Protective and fashionable", "category": "Watersports", "price": 48.95, "id": "61303717cfad182e" },
{ "name": "Soccer Ball", "description": "FIFA-approved size and weight", "category": "Soccer", "price": 19.5, "id": "0fb5f67bdcbd992f" },
{ "name": "Corner Flags", "description": "Give your playing field a professional touch", "category": "Soccer", "price": 34.95, "id": "24385d315dd388b4" },
{ "name": "Stadium", "description": "Flat-packed 35,000-seat stadium", "category": "Soccer", "price": 79500, "id": "500fb6805905a856" },
{ "name": "Thinking Cap", "description": "Improve your brain efficiency by 75%", "category": "Chess", "price": 16, "id": "637d8a1f42e6fa1c" },
{ "name": "Unsteady Chair", "description": "Secretly give your opponent a disadvantage", "category": "Chess", "price": 29.95, "id": "73393312ec7dfab7" },
{ "name": "Human Chess Board", "description": "A fun game for the family", "category": "Chess", "price": 75, "id": "7871d02a662b0915" },
{ "name": "Bling-Bling King", "description": "Gold plated, diamon-studded King", "category": "Chess", "price": 1200, "id": "b59a3389a0e248bd" }
]
我正在尝试通过使用来检索此数据$http.get
:
$http.get("http://localhost:5500/products")
.success(function (data) { ... })
.error(function (error) { ... });
但是,这总是返回错误:
XMLHttpRequest cannot load http://localhost:5500/products. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:5000' is therefore not allowed access.
研究表明,Angular和CORS存在/存在一些问题,并且必须将标头配置为运行跨域请求。结果,我将以下内容添加到我的app.config中:
$http.defaults.useXDomain = true;
delete $http.defaults.headers.common['X-Requested-With']; // this isn't needed anymore, but was put here as a just-in-case
尽管添加了这些设置,但仍然出现错误。部署文档说,它是为CORS(跨域请求)自动配置的,只要请求中不包含无效的自定义标头,它就会发送适当的标头信息。我很确定我的请求中没有无效的自定义标头:
Accept: application/json, text/plain, */*
Cache-Control: max-age=0
Origin: http://localhost:5000
Referer: http://localhost:5000/sportsstore/app.html
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.131 Safari/537.36
我的问题:为了将Deployed配置为允许CORS请求进行处理,我是否还需要进行其他配置?
该书未指定任何特殊的Angular标头设置或其他任何内容。
Bic,将部署的版本升级到版本0.6.10。这对我有用。现在,我可以处理获取请求。AngularJS代码和Adam Freeman的书似乎都不是错误。
在书中,他确实提到他将已部署的程序包括在http://www.apress.com/9781430264484上的源代码下载中。那是0.6.9版本。我敢肯定它可以正常工作。比起尝试找到0.6.10版本要容易得多。如果要使用该版本,则为:
https://www.versioneye.com/nodejs/deployd/0.6.10
它不是安装程序,因此您必须将其粘贴到已部署的目录中,以替换node_modules
。
如果你对这个主题有任何问题,可以点击下面的链接访问相应的话题: http://www.mail-archive.com/webpy@googlegroups.com/msg02800.html 下面的代码基于lighttpd 1.4.18,更高版本也可以工作 注意事项 你可以重命名 code.py为任何你自己愿意的名字,该例子还是以code.py为例。 /path-to/webpy-app 为包含
如何在Laravel中检索数据。 我有表用户,其中我有字段parent_id,其中我显示其user_id的信息。 现在我想显示已登录用户的信息 我试过这个 我得到了选定的parent_id,现在我想要user_id的名字。 我在试这个 它得到一个错误。请告诉我如何在我的代码中写这个来获得父id的名称。
在使用WebLogic-10.3.6部署war文件时,我遇到了如下异常 *错误为weblogic.descriptor.descriptorexception:发现验证问题问题:cvc-enumeration-valid:字符串值“3.0”不是命名空间http://java.sun.com/xml/ns/javaee:*中web-app-versionType的有效枚举值 谁能告诉我问题出在哪里?
我们正试图通过Jenkins将生成的war文件自动部署到web服务器。在tomcat服务器上使用Deploy plugin,我可以为普通war文件实现同样的功能。 对于Liferay portlet war文件,我不能使用我们将war文件放入Liferay中的deploy文件夹,然后将其复制到tomcat webapps文件夹的插件。 我看到的另一种方法是在pom.xml
我正在尝试使用JavaScript从API获取数据,这个API在Postman中工作,但在JavaScript中不工作。 此代码在控制台中显示为未能获取响应数据且未定义:
问题内容: 假设此JSON对象: 可以像这样检索“ set2”属性: 有没有一种方法可以通过索引检索“ set2”属性?它是JSON对象的第二个属性。这是行不通的(当然): 因此,假设我要检索JSON对象的第二个属性,但我不知道它的名称-那么我该怎么做? 更新: 是的,我知道对象是无序属性的集合。但是我不认为浏览器会干扰JSON文字/字符串定义的“原始”顺序。 问题答案: JavaScript中的