小编Sid*_*rth的帖子

如何知道用户何时离开页面并刷新页面

我想在用户离开页面之前进行AJAX调用(所以基本上在离开页面之前和刷新页面之前)?

如何才能做到这一点.我试图用jQuery搜索一些东西,但没有得到任何东西.

我尝试使用以下代码 -

window.onbeforeunload(function(){alert('before unload');});
Run Code Online (Sandbox Code Playgroud)

但是离开页面(关闭浏览器选项卡)或刷新页面时,警报框永远不会出现.

如何实现这一目标?

javascript jquery

7
推荐指数
2
解决办法
2776
查看次数

Mongoengine unique_with

我正在使用MongoDB的mongoengine.我必须创建一个文档,其中元组(merchant_id,order_id,event_type)必须是唯一键.

直到现在,我始终把独特性局限于两个领域.以下工作 -

merchant_id = StringField(required = True)
order_id = StringField(required = True, unique_with = 'merchant_id')
Run Code Online (Sandbox Code Playgroud)

现在,我正在尝试为三个领域做到这一点 -

merchant_id = StringField(required = True)
order_id =  StringField(required = True)
event_type = StringField(
    required = True,
    unique_with = ['merchant_id', 'order_id'])
Run Code Online (Sandbox Code Playgroud)

但这不起作用.我没有在模块中收到错误.但如果我输入数据 -

merchant_id = 'Merchant1'
order_id = 'Order1'
event_type = 'Event1'
Run Code Online (Sandbox Code Playgroud)

然后尝试用相同的添加另一个数据merchant_idorder_id而不同event_id,那么它提供了有关被重复键错误.

我也尝试过:

merchant_id = StringField(required = True)
order_id =  StringField(required = True)
event_type = StringField(
    required = True,
    unique_with = ('merchant_id', 'order_id'))
Run Code Online (Sandbox Code Playgroud)

python mongodb mongoengine

6
推荐指数
2
解决办法
4187
查看次数

没有谷歌登录用户图片

我已经使用OAuth2和PHP库进行了Google登录,可以在文档站点上找到它.

我使用的范围是userinfo.我得到了除图片之外的所有userinfo.我使用我收到的访问令牌访问了V1和V2链接.链接,如果我没有弄错的话,是 -

https://www.googleapis.com/oauth2/v1/userinfo?access_token=<access-token>
https://www.googleapis.com/oauth2/v2/userinfo?access_token=<access-token>
Run Code Online (Sandbox Code Playgroud)

对于这两个,图片信息丢失.我收到以下回复 -

{
 "id": "<some-id>,
 "email": "<correct-email-id>",
 "verified_email": true,
 "name": "Siddharth Saha",
 "given_name": "Siddharth",
 "family_name": "Saha",
 "link": "<google-plus-link>",
 "gender": "male",
 "locale": "en"
}
Run Code Online (Sandbox Code Playgroud)

有没有其他方法来获得图片?是否有用户图片的链接(如在facebook身份验证中).

oauth-2.0

6
推荐指数
1
解决办法
5086
查看次数

不允许chmod()操作--FatFree框架

我一直在开发FatFree框架中的应用程序,现在我正在尝试将其部署在服务器上.当我在localhost上运行时,一切似乎都很好.

但是,当我在服务器上部署它并试图访问它时,它给了我一个奇怪的错误,它是 -

Internal Server Error

chmod(): Operation not permitted

#0 /var/www/webapp/inc/main.php:62 Template::serve('front_page.php')
#1 /var/www/index.php:65 F3::run()
Run Code Online (Sandbox Code Playgroud)

我已经给了该webapp文件夹777的权限,所以chmod()应该被允许.以上表明在提供模板文件时出错front_page.php.

我怎样才能解决这个问题?

php linux fat-free-framework

6
推荐指数
3
解决办法
3万
查看次数

正则表达式匹配只有2个大写字母的字符串

我想编写一个正则表达式,只有当字符串由两个大写字母组成时才匹配字符串.

我试过 - [A-Z]{2}, [A-Z]{2, 2} and [A-Z][A-Z]但是这些只匹配字符串'CAS',而我只想在字符串是两个大写字母如'CA'时匹配.

python regex

6
推荐指数
2
解决办法
1万
查看次数

Redis中的Dicts列表

如何使用Python-redis将Redis中的dicts列表与密钥保持一致.以下是我的目标数据结构:

'browsing_history' : {
    'session_key_1' : [{'image': 'image-url', 'url' : 'url', 'title' : 'test_title', 'description' : 'test_description'}, {''image': 'image-url2', 'url' : 'url2', 'title' : 'test_title2', 'description' : 'test_description2'}],
    'session_key_2' : [{'image': 'image-url', 'url' : 'url', 'title' : 'test_title', 'description' : 'test_description'}, {''image': 'image-url2', 'url' : 'url2', 'title' : 'test_title2', 'description' : 'test_description2'}],
}
Run Code Online (Sandbox Code Playgroud)

想要添加到会话列表中以及添加新会话以及还原它们.我怎么能用Python-redis做到这一点?

python redis

5
推荐指数
1
解决办法
6609
查看次数

一页中有多个easyXDM

我试图在单个父页面上使用两个easyXDM套接字但没有成功.两个套接字都连接到相同的远程域但不同的端点.父页面有两个div false_app_divdummy_app_div.以下显示代码片段 -

在父页面上,我有两个JS函数activate_false_app()activate_dummy_app().

window.loadScript = function(src, onload, onerror) {
   var head = document.getElementByTagName('head')[0];
   var script = document.createElement('script');
   script.type = 'text/javascript';
   script.src = src;
   if (script.readyState) {
      script.onreadystate = function() {
         var state = this.state;
         if (state === 'loaded' || state === 'complete') {
             script.onreadystate = null;
             onload();
         }
      };
   }
};
window.activate_false_app = function() {
   var exdm_url = 'http://localhost:8000/js/easyXDM/easyXDM.min.js';
   on_load_fn = function() {
      window.init_false_app_communication();
   };
   on_error_fn = function() {
      return false;
   }; …
Run Code Online (Sandbox Code Playgroud)

javascript easyxdm

5
推荐指数
1
解决办法
1085
查看次数

芹菜任务与倒计时

我正在使用Celery 2.5.1,我试图countdown在20秒后运行任务,但它会立即执行.

我用它作为:

DemoTask.apply_async(countdown = 20)
Run Code Online (Sandbox Code Playgroud)

我在这里错过了什么吗?

python celery

5
推荐指数
2
解决办法
5463
查看次数

无法从 Google 地点自动完成中选择

我正在开发一个可在 Android 上运行的 ionic 应用程序。在特定屏幕上,我有一个谷歌地图和一个搜索框。我使用了谷歌地图的电话间隙插件来获取本地地图,而不是使用谷歌地图 Javascript API,因为它太慢了。

搜索框是自动完成的,可以使用以下代码从谷歌获取地点 -

input = document.getElementById 'search-input'
autocomplete = new google.maps.places.Autocomplete(input)
Run Code Online (Sandbox Code Playgroud)

这将自动完成来自谷歌的地方的输入字段。问题是我无法从自动完成下拉列表中选择任何选项。

我的 HTML 代码 -

<ion-content scroll="false">

   <div id="searchBox">
     <input id="search-input">
   </div>
   <div id="map-canvas">

</ion-content>
Run Code Online (Sandbox Code Playgroud)

map-canvas持有地图。我尝试添加ng-focus="disableTap()"到输入搜索输入。

disableTap = ->
   container = document.getElementsByClassName 'pac-container'
   angular.element(container).attr 'data-tap-disabled', 'true'
   angular.element(container).on 'click', ->
        document.getElementById('search-input').blur()
Run Code Online (Sandbox Code Playgroud)

我在这个链接上找到了这个解决方案

但这不起作用。这里有任何输入吗?我在这里不知所措。

android google-maps angularjs ionic-framework ionic

5
推荐指数
0
解决办法
4380
查看次数

Sendgrid Python 库和模板

我正在尝试使用我在 Sendgrid 上创建的模板。我想要做的是,使用我在 Sendgrid 上创建的模板发送电子邮件(替换替换标签)。

这是我尝试过的-

import sendgrid
sg = sendgrid.SendGridClient('<username>', '<password>')
message = sendgrid.Mail()
message.add_to('<to-email-address>')
message.set_subject('My Test Email')
message.add_substitution('customer_link', 'http://my-domain.com/customer-id')
message.add_filter('templates', 'enable', '1')
message.add_filter('templates', 'template_id', '<alphanumeric-template-id>')
message.add_from('<from-email-address>')
status, msg = sg.send(message)
Run Code Online (Sandbox Code Playgroud)

但是,这给了我一个错误,即'{"errors":["Missing email body"],"message":"error"}'. 我尝试添加以下几行,但仍然出现相同的错误 -

message.set_html('')
message.set_text('')
Run Code Online (Sandbox Code Playgroud)

所以,我在使用后使用的确切代码set_html是 -

import sendgrid
sg = sendgrid.SendGridClient('<username>', '<password>')
message = sendgrid.Mail()
message.add_to('<to-email-address>')
message.set_subject('My Test Email')
message.add_substitution('customer_link', 'http://my-domain.com/customer-id')
message.add_filter('templates', 'enable', '1')
message.add_filter('templates', 'template_id', '<alphanumeric-template-id>')
message.add_from('<from-email-address>')
message.set_html('')
message.set_text('')
status, msg = sg.send(message)
Run Code Online (Sandbox Code Playgroud)

我在这里缺少什么?该库的 python 文档似乎不包含任何内容。

编辑 - 我发现的一种解决方法来自以下答案。我确实设置了message.set_html(' …

python sendgrid

5
推荐指数
1
解决办法
3872
查看次数