我正在尝试将脚本连接到Microsoft的World-Wide Telescope应用程序.后者在端口5050上侦听命令.它与浏览器在同一台机器上运行(Chrome现在,但据我所知,Firefox 7和IE 9的行为相同).
我正在使用原始html文件发送"Access-Control-Allow-Origin:*"标头,以尝试消除XSS限制作为我的问题.
我访问WWT的代码如下:
$.ajax({
type: 'POST',
url: url,
data: data,
crossDomain: true,
success: success,
dataType: dataType
});
Run Code Online (Sandbox Code Playgroud)
在这种情况下,url是"http://127.0.0.1:5050/layerApi.aspx?cmd = new&..."(显然......这里是一些额外参数的简写).
看看Chrome中的网络诊断,我可以看到:
Request URL:http://127.0.0.1:5050/layerApi.aspx?cmd=new&...
Request Headersview source
Accept:application/xml, text/xml, */*; q=0.01
Content-Type:application/x-www-form-urlencoded
Origin:http://gwheeler4
Referer:http://gwheeler4/conceptconnect.html
User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.186 Safari/535.1
Run Code Online (Sandbox Code Playgroud)
请求即将发布 - 我看到WWT创建了一个新层.但是,我没有得到回调.如果我添加一个错误回调被调用,但jqXHR对象的错误属性只是一个"错误"和状态是0.如果我看在Chrome网络请求之我见"(取消)"作为状态,并没有任何反应.
如果我使用相同的URL并将其粘贴到新的浏览器选项卡中,我可以看到响应是预期的XML.
当然,这里的一个区别是,这是一个GET而不是POST,但我已经在我的脚本中尝试过这个并没有什么区别.
我对此感到非常难过,并会欣赏任何新鲜的想法.
我正在尝试用副作用模拟 Python 中的实例方法。我希望/期望使用初始“self”参数来调用我的副作用,我可以用它来确定返回值。
所以我有这样的事情:
import mock
class TestCases(unittest.TestCase):
@mock.patch('Item.exists')
def test_foo(self, mock_item_exists):
def item_exists_side_effect(*args, **kwargs):
# I expect args[0] here to be supplied and to refer to the item
_self = args[0]
return _self.name == 'bar'
mock_item_exists.side_effect = item_exists_side_effect
...
Run Code Online (Sandbox Code Playgroud)
但是,当调用 Item.exists() 时,我最终会进入副作用函数,但参数列表为空。
这是预期的吗?难道我做错了什么?
DataLab使用共享服务帐户,但我看不到我的团队成员的笔记本.我们如何在团队成员之间共享笔记本?