我正在使用Product Advertising API在有效的ASIN上执行ItemLookup,请求所有三种优惠组,而且我没有收到任何价格信息.然而,当我在亚马逊上查看相同的产品时,它的库存和有效价格.我相信我需要描述问题的所有内容都是在响应我的ItemLookup请求时返回的ItemLookupResponse中,因为它回显所有参数:
<ItemLookupResponse>
<OperationRequest>
<HTTPHeaders>
<Header Name="UserAgent"
Value="Mozilla/5.0 (Windows NT 6.1; rv:14.0) Gecko/20100101 Firefox/14.0" />
</HTTPHeaders>
<RequestId>09872c13-5297-4401-ad15-e631b05c7a8f</RequestId>
<Arguments>
<Argument Name="Condition" Value="All" />
<Argument Name="Operation" Value="ItemLookup" />
<Argument Name="Service" Value="AWSECommerceService" />
<Argument Name="Signature"
Value="<omitted>" />
<Argument Name="MerchantId" Value="All" />
<Argument Name="AssociateTag" Value="<omitted>" />
<Argument Name="Version" Value="2011-08-01" />
<Argument Name="ItemId" Value="B00828J7PG" />
<Argument Name="IdType" Value="ASIN" />
<Argument Name="AWSAccessKeyId" Value="<omitted>" />
<Argument Name="Timestamp" Value="2012-10-16T20:30:28.000Z" />
<Argument Name="ResponseGroup" Value="Offers,OfferFull,OfferSummary" />
</Arguments>
<RequestProcessingTime>0.0194200000000000</RequestProcessingTime>
</OperationRequest>
<Items>
<Request>
<IsValid>True</IsValid>
<ItemLookupRequest>
<Condition>All</Condition>
<IdType>ASIN</IdType>
<MerchantId>Deprecated</MerchantId>
<ItemId>B00828J7PG</ItemId>
<ResponseGroup>Offers</ResponseGroup>
<ResponseGroup>OfferFull</ResponseGroup> …Run Code Online (Sandbox Code Playgroud) 我正在尝试在FireFox v42.0 Windows 10中调试网页,其中该网页通过代理服务器并且代理服务器通过内联<script>...</script>(不包括单独的.js文件)将代码注入其中.当我右键单击View Page Source时,我会看到原始页面加上我期望注入的代码(以及实际运行的代码).我还在Inspector选项卡的DOM视图中看到了注入的内容.它也可以在"响应"部分的"网络"选项卡中看到.但是,当我在调试器中查看同一页面时,注入的代码不可见,就好像页面没有通过代理服务器运行一样.
此外,如果我debugger;在注入的代码中插入一个语句,我会点击断点,但在FireFox调试器选项卡中它告诉我,我在550行的文件中只有173行,根据FireFox.所以我无法单步执行代码.
当我在Chrome中做同样的事情时,我会看到我期待的内容,这是我页面中注入的代码,我可以毫无问题地调试此代码.
我已清除缓存无效.我查看了"网络"选项卡,所有内容都按预期显示.
FireFox如何以及为什么没有向我显示调试器选项卡中的实际页面(匹配View Source或DOM视图中的内容),而不是让我单步执行注入的代码?
更多作为实验,我决定在Eclipse调试器中启用以下断点:Throwable [Include Subclasses]: caught and uncaught.然后我让我的代码(据我所知,它运行"很好")在调试器下运行,并且惊讶地发现当我的代码是标准的J2SE库代码时,抛出并捕获了许多异常(我以前不知道).正常运行,我所知道的一切.
例如,这里只是一些的Java框架的功能,我发现抛出异常:URLClassLoader.findClass,FileDirContext.lookup,和WebappClassLoader.findClassInternal.
这被认为是Java应用程序的正常行为吗?这是我应该研究的东西吗?据我所知,我的代码似乎运行良好.
我正在重写这个问题因为我认为值得回答.关于它被关闭的原因如下:"关于你编写的代码问题的问题必须描述具体的问题 - 并包括有效的代码来重现它 - 在问题本身."
具体问题:在JavaScript中调用太多警报/确认时(可能是代码中的错误),浏览器最终会询问您是否要忽略进一步的警报.一旦忽略这些警报,您如何让浏览器重新启用这些警报?
有效代码重现问题:
<script>while(true) alert("Stop Me");</script>
Run Code Online (Sandbox Code Playgroud)
如果重新打开,我会继续回答这个问题......
这是Zane的原始问题:
在javascript中开发时,我有时会遇到无限循环生成警报的情况.傻但真实.
为了摆脱这种无限循环,我需要关闭浏览器(通常使用chrome)或禁用页面的对话框.但我不知道如何在不重新启动浏览器的情况下重新启用对话框.
有没有一种简单的方法来重新启用对话框?令人惊讶的是,当谷歌搜索时,我没有得到任何有用的东西.
赞恩
根据我所做的研究(例如参见此gae问题和此堆栈溢出问题),不可能跨两个应用程序共享一个数据存储区,并且大多数人建议使用RemoteAPI或使用多个"版本"相同的应用程序,每个版本实际上是完全不同的应用程序.据GoogleAppEngine发行1300,允许多个GAE应用程序共享同一数据存储已经"接受"这大概意味着,此功能可正式支持的某一天.
我对使用RemoteAPI犹豫不决,因为我怀疑在我的应用程序中响应时间至关重要时会对我造成性能损失.所以我想知道是否有人使用在相同应用程序ID下使用多个版本的方法来共享相同的数据存储区?如果是这样,您是否能够评论您是否发现了这种方法的任何问题?据推测,这并不违反GAE许可条款,这些条款通常禁止多个不同的应用程序表现得像一个应用程序?
大卫
更新:我尝试了这种方法,并有一些可能的问题来报告这种方法.在我的本地GAE实例(在端口8080和8081上)将我的两个应用程序部署为同一个应用程序的两个版本时,在我停止/启动它之前,其他应用程序不会总是看到我用一个应用程序进行的更新.我在appspot.com上看不到这种行为.我认为这里更广泛的问题是我假设高复制数据存储具有与传统SQL数据库类似的事务属性.发生的事情是,一个应用程序提交更改的时间与其他应用程序可以读取更改之间似乎存在显着延迟.想知道是否有有效的"刷新"的更改,或为了得到犯下一个应用进行的地方清除高速缓存中的另造查询显示的方式.或许我正在咆哮错误的兔子洞......