I tried to develop a webdev api. And When I create a post method, when I request from client, I entered a cors error. Then I tried to add a cors header like this:

servletResp = request[‘servletResponse’]
servletResp.addHeader(‘Access-Control-Allow-Origin’, ‘*’ )
servletResp.setHeader(“Access-Control-Allow-Methods”, “POST, GET, PUT, OPTIONS, DELETE”)

It works in v7.9 and v8.0, but now I use v8.1.5 and it seems dosen’t work.
Need help!

I created a python resource on Web Dev Module and implemented the doGet method as the following. As you can see it returns a json list object with the list of tags that has history.

I'm trying to develop a html/js/jquery app on my local dev machine (mind that dev machine is different than the server). The JS Fetch API is throwing the CORS error.

How can I overcome this to allow CORS error to allow any origin temporarily (until I finish development)?

def doGet(request, session): tags = list(parse_tags()) return { "json": tags } def parse_tags(): tags = system.tag.browseTags(parentPath="", recursive=True) for tag in tags: path = str(tag.fullPath) has_history = parse_has_history(path) if not has_history: continue name = str(tag.name) type = str(tag.tagType) data_type = str(tag.dataType) yield { "path": path, "name": name, "type": type, "data_type": data_type, "has_history": str(has_history), "check": False, def parse_has_history(path): return len([x for x in system.tag.getConfiguration(path) if x["historyEnabled"] == True]) > 0 except: return False

Here is my code doGet method below. I'm trying to return list of interest tags as json list.

In another environment I'm trying to develop html/jquery app that utilizes this function, but JS Fetch API is getting CORS error.

How can I overcome this? Any help would be much appreciated.

def doGet(request, session):
	tags = list(parse_tags())
	return { "json": tags }
def parse_tags():
	tags = system.tag.browseTags(parentPath="", recursive=True)
	for tag in tags:
		path = str(tag.fullPath)
		has_history = parse_has_history(path)
		if not has_history:
			continue
		name = str(tag.name)
		type = str(tag.tagType)
		data_type = str(tag.dataType)
		yield { 
			"path": path, 
			"name": name, 
			"type": type, 
			"data_type": data_type, 
			"has_history": str(has_history),
			"check": False,
def parse_has_history(path):
		return len([x for x in system.tag.getConfiguration(path) if x["historyEnabled"] == True]) > 0
	except:
		return False