目前我通过以下网址访问过页面
www.foo.com/details.html?id=123
Run Code Online (Sandbox Code Playgroud)
我想让它们更加宁静,比如下面的内容:
www.foo.com/details/123
Run Code Online (Sandbox Code Playgroud)
我正在使用Google App Engine.目前,URL已映射到html-mappings文件中:
('/details.html*', DetailsPage),
Run Code Online (Sandbox Code Playgroud)
然后在DetailsPage处理程序上,它ID通过以下方式获取值:
class DetailsPage(webapp.RequestHandler):
def get(self):
announcement_id = self.request.get("id")
Run Code Online (Sandbox Code Playgroud)
我如何重新构建它以便它可以映射URL并通过其他格式的URL提取ID: www.foo.com/details/123
谢谢
我正在使用Google App Engine(Python)和jQuery来调用服务器的Ajax.我有一个页面,我想从Ajax调用到服务器加载Javascript中的字符串列表.
我想调用的服务器方法:
class BrowseObjects(webapp.RequestHandler):
def get(self):
ids_to_return = get_ids_to_return()
// TODO: How to return these ids to the invoking ajax call?
self.response.out.write(ids_to_return)
Run Code Online (Sandbox Code Playgroud)
我希望能够访问返回的ID的HTML页面:
var strings_from_server = new Array();
$.ajax({
type: "GET",
url: "/get_ids.html",
success: function(responseText){
// TODO: How to read these IDS in here?
strings_from_server = responseText
},
error: function (xhr, ajaxOptions, thrownError){
alert(xhr.responseText);
}
});
Run Code Online (Sandbox Code Playgroud)
我对Ajax的体验是有限的 - 我只使用它们将数据存储到服务器(a-la POST命令),所以我真的不知道如何从服务器获取数据.在此先感谢您的帮助
编辑:我的最终答案:
我已经切换到完整的Ajax调用(以防止跨域请求)并且还处理'错误'回调.我的工作客户端方法如下:
$.ajax({
type: "GET",
dataType: "json",
url: "/get_ids.html",
success: function(reponseText){
strings_from_server = responseText
},
error: function (xhr, …Run Code Online (Sandbox Code Playgroud) 我正在使用GWT,我想发出一个JSONP请求,它在返回时调用我的GWT方法.
但是,我无法弄清楚如何指定在回调时调用的GWT方法.有人可以帮忙吗?这是我的示例代码:
private native void fetchUserData(String accessToken) /*-{
var callback = "com.company.example.FacebookApi::handleUser";
var url = "https://graph.facebook.com/me?access_token="+accessToken+"&callback=" + callback;
// use jsonp to call the graph
var script = document.createElement('script');
script.src = url;
document.body.appendChild(script);
}-*/;
public void handleUser(Object o) {
Window.alert("Received object with class: " + o.getClass().getName())
}
Run Code Online (Sandbox Code Playgroud)
此代码从此示例移植:Facebook没有SDK.
或者,我刚刚发现有一个GWT JsonpRequestBuilder,我还没有机会使用它,但如果有人可以在不使用任何本机代码的情况下给出一个例子......那就更好了.
谢谢!
我正在尝试验证我的方法是否正确调用了另一个导入的方法。对于我的一生,我不知道如何使用 Jest 来模拟导入的方法。
登陆页面管理器.ts
import {getJSON} from './getJSON';
public fetchData(url: string) {
getJSON(url);
}
Run Code Online (Sandbox Code Playgroud)
获取JSON.ts
export function getJSON(url: string) {
// XHR requests logic
}
Run Code Online (Sandbox Code Playgroud)
LandingPageManager.test.ts
import 'jest';
import {getJSON} from '../../../src/web/getJSON';
import {LandingPageManager} from '../../../src/web/LandingPageManager';
describe('fetchData', () => {
let manager = new LandingPageManager();
it('passes the correct URL to getJSON', () => {
const getJsonSpy = jest.mock('../../../src/web/getJSON', jest.fn());
manager.fetchData('sampleValue');
expect(getJsonSpy).toHaveBeenCalledWith('sampleValue');
getJsonSpy.restoreAllMocks();
});
});
Run Code Online (Sandbox Code Playgroud)
jest.fn() value must be a mock function or spy
Run Code Online (Sandbox Code Playgroud)
我试过以各种不同的方式设置模拟。但我似乎无法正确使用语法。
任何人都可以帮助我指出正确的方向吗?我觉得这应该是可能的。
我正在使用带有webapp的python GAE.
我有一个表单供用户在数据库中创建一个对象,如:
class SpamRecord(db.Model):
author = db.ReferenceProperty(Author, required=True)
text = db.StringProperty()
Run Code Online (Sandbox Code Playgroud)
在创建之后,用户被重定向到其URL包含该对象的密钥的页面...使用如下代码:
spam = SpamRecord(author=author, text=text)
spam.put()
new_spam_key = spam.key()
self.redirect("/view_spam/%s" % new_spam_key)
Run Code Online (Sandbox Code Playgroud)
这主要是有效的,我可以在以下位置查看项目:
sitename.com/view_spam/ag1waWNreXByZXNlbnRzchQLEgxBbm5vdW5jZW1lbnQYy8oJDA sitename.com/view_spam/ag1waWNreXByZXNlbnRzchQLEgxBbm5vdW5jZW1lbnQY_boJDA
但是,偶尔会出现一些不起作用的密钥.以下是最近2个不会加载和返回HTTP 404 not found错误的页面示例:
sitename.com/view_spam/ag1waWNreXByZXNlbnRzchQLEgxBbm5vdW5jZW1lbnQY-5MJDA sitename.com/view_spam/ag1waWNreXByZXNlbnRzchQLEgxBbm5vdW5jZW1lbnQY-boJDA
我html-mappings.py包含以下映射:
(r"/view_spam/(\w+)", ViewSpamPage)
Run Code Online (Sandbox Code Playgroud)
而且ViewSpamPage看起来是这样的:
class ViewSpamPage(webapp.RequestHandler):
def get(self, spam_id):
self.response.out.write("Got here")
Run Code Online (Sandbox Code Playgroud)
任何人都可以提供任何有关为什么会发生这种情况以及如何预防这种情况的见解?
非常感谢!
最近一直在挑选Go,我是一个忠实的粉丝,来自Java背景.
我正在以不同的方式比较这些语言,并且惊讶于一个简单的循环计数高达200亿在Golang和Java中花了相当长的时间.
想知道是否有人可以提供任何见解,如果我在这里遗漏了什么.这就是我做的:
写下面的代码,从普通main()方法执行它,用Gradle构建一个可执行jar,并使用以下命令从命令行执行它:java -jar build/libs/my-executable.jar
private void countToTwentyBillion() {
long count = 0;
long start = System.currentTimeMillis();
for (int k = 0; k < 10; k++) {
System.out.println("On step " + k);
for (int i = 0; i < 2_000_000_000; i++) {
// Do nothing but count
count++;
}
}
long end = System.currentTimeMillis();
System.out.println("Total time took: " + (end - start) + " ms to get at count: " + count);
}
Run Code Online (Sandbox Code Playgroud)
在3个独立的试验中,我得到了以下结果:
// …Run Code Online (Sandbox Code Playgroud) 我在Groovy类中有一个String数组(args到main方法):
String[] args
Run Code Online (Sandbox Code Playgroud)
我想将第3个元素转换为最后一个元素,然后将其转换为新的int数组.除了以下内容之外,还有更简单的方法在Groovy中执行此操作:
final int numInts = args.length - 2
final int [] intArray = new int[numInts]
for (int i = 2; i < args.length; i++) {
intArray[i-2]=Integer.parseInt(args[i])
}
Run Code Online (Sandbox Code Playgroud)
我想做:
final int numInts = args.length - 2
final int [] intArray = new int[numInts]
System.arraycopy(args, 2, intArray, 0, numInts)
Run Code Online (Sandbox Code Playgroud)
但它抛出了一个类强制转换异常.
谢谢!
我们正在从非官方的'kidleit'maven插件切换到使用官方的"appengine-maven-plugin" http://code.google.com/p/appengine-maven-plugin/
我们的应用程序不是新的,但现在部署时,我们得到错误:
404 Not Found This application does not exist (app_id=u'appname')
Run Code Online (Sandbox Code Playgroud)
运行在命令行和在蚀,原来告诉当相同弹出消息appcfg.sh以使用--oauth2用于认证,这原来是为"的AppEngine-行家-插件"的缺省.
有没有办法告诉官方maven插件不使用Oauth2身份验证?
我正在尝试将一组对象减少为一组唯一值.为此,我试图使用Set作为reduce()操作的累加器.
subscriptions = [
{list_id: 'abc', name: 'nom', subscribed: true},
{list_id: 'abc', name: 'nom', subscribed: true},
{list_id: 'ghi', name: 'nom', subscribed: false}];
return subscriptions.reduce((accumulator, currentValue) => {
if (currentValue.subscribed) {
return accumulator.add(currentValue.list_id);
}
}, new Set());
Run Code Online (Sandbox Code Playgroud)
我的测试报告了以下错误:
TypeError:无法读取未定义的属性"add"
我正在尝试做什么?我是否需要以其他方式做到这一点?
java ×3
javascript ×3
python ×3
typescript ×2
ajax ×1
arrays ×1
go ×1
groovy ×1
gwt ×1
jestjs ×1
jquery ×1
json ×1
jsonp ×1
maven ×1
mocking ×1
performance ×1
reduce ×1
restful-url ×1
unit-testing ×1
url ×1