我的NodeJS和Socket.IO服务器运行良好,但是我每次刷新浏览器页面或导航到另一个页面时,都会发生套接字断开和重新连接。
如何使套接字在页面之间持久存在?
谢谢,我想到了这一点,但想避免使用它,因为这对我正在制作的系统来说是一个很大的变化,并且会花费很多工作。
套接字连接/断开连接的唯一作用是“用户已登录”计数器。但是我想我可以通过Node服务器上的setTimeout解决这个问题,因此,如果套接字在2秒内断开连接并重新连接,则计数器不会改变。就此计数器而言,这是最好的解决方法吗?
我完全不知道我的脚本有什么问题。JSON 数据正确输入,变量 $i 和 $current 在 forloop 的每个阶段都应该是它们。
它似乎一直在用 id 更新我的数据库,所以在 id 为 11 的情况下,它将用数字 11 更新所有列。
这是我的脚本:
if($mode == 'SAVE_BUYING_ROW')
{
$JSON = (array)$JSON ;
include('pdoconnect.php') ;
$result = $dbh->prepare("UPDATE parts_trading_instructions
SET quantity = ?, supplierRef = ?, currencyRef = ?,
net = ?, vat = ?, shippingNet = ?,
shippingVat = ?, direct = ?, ebayItemNumber = ?
WHERE id = ?") ;
$i = 0 ;
foreach($JSON as $current) {
$current = (string)$current ;
if($i == 0) …
Run Code Online (Sandbox Code Playgroud) 我的查询有问题.
我想在我的WHERE中使用SUM,但它一直给我无效的组功能使用.
AND SUM((invoices_out.net+invoices_out.vat)/currencies.rateVsPound)
>
(SELECT SUM(jobs_payments_accounts.amount/currencies.rateVsPound)
FROM jobs_payments_accounts, jobs, enquiries, currencies
WHERE jobs_payments_accounts.jobRef = jobs.id
AND jobs_payments_accounts.currencyRef = currencies.id
AND enquiries.id = jobs.enquiryRef
AND enquiries.entityRef = ed.id)
Run Code Online (Sandbox Code Playgroud)
>的右侧工作完美,但我怎样才能达到我想要做的左侧?
这是完整的子查询:
IF(ed.paymentTermsRef = 3,
(SELECT SUM((invoices_out.net+invoices_out.vat)/currencies.rateVsPound)
FROM enquiries, jobs, (SELECT * FROM invoices_out_reference GROUP BY invoiceRef) AS iorUnique,
(SELECT enquiryRef, sellingCurrency FROM parts_trading GROUP BY enquiryRef) AS PTU,
currencies,
invoices_out
WHERE enquiries.entityRef = ed.id
AND enquiries.id = jobs.enquiryRef
AND PTU.enquiryRef = enquiries.id
AND PTU.sellingCurrency = currencies.id
AND jobs.id = iorUnique.jobRef
AND …
Run Code Online (Sandbox Code Playgroud) 我有一个JavaScript函数,通过它将数据发送到我的PHP脚本$.ajax
.我的PHP脚本返回了许多用于创建Jquery UI对话框的内容,例如框的标题及其内容(html).
我将一些数据(例如对话框标题和正文)返回到一个长字符串中,每个段被分隔::
,然后使用:
myStuff = data.split('::') ;
Run Code Online (Sandbox Code Playgroud)
最后,我myStuff[n]
用于我想要使用的第一部分.
我想知道你们是否知道更好的方法呢?更快更好/更少代码,更安全等等更好
我正在创建一个登录屏幕,其中有一个登录框,无论用户具有什么分辨率,我都希望它出现在屏幕中央(水平和垂直).
我环顾四周,只能找到水平居中内容的教程/文章,这是我想要的一半.
知道如何在两个平面上实现集中化吗?
在我的网格中,我有一个带有以下参数的日期列:
update: {
url: ROOT+"user/update-user",
type: "POST"
}
columns: [
{...},
{
field: "DoB",
width: 68,
title: "DoB",
format: "{0:dd/MM/yyyy}",
template: '#= kendo.toString(DoB,"dd/MM/yyyy") #'
},
{...}
datasource: {
...
schema: {
model: {
DoB: {type: "date", editable: false, format: "{0:dd/MM/yyyy}"},
}
}
}
Run Code Online (Sandbox Code Playgroud)
问题是,当我尝试更新日期列时,它发送一个非常长的日期而不是SQL样式日期"YYYY-MM-DD":
Wed Jan 09 2003 00:00:00 GMT +0000 etc
Run Code Online (Sandbox Code Playgroud)
知道是什么导致了这个吗?
我已经创建了一个函数,到目前为止,无论文件名有多奇怪,到目前为止它似乎都非常擅长获取文件扩展名.我在网上遇到的每一种方法似乎都喜欢使用爆炸.获取扩展名,但如果文件名中有多个.s,该怎么办?
这是我的功能:
$fileName = 'my.reallyAwk-ward..file--name.JPEG' ;
echo getExtension($fileName) ;
function getExtension($fileName)
{
$ext = explode('.', strrev($fileName), 2) ;
$ext = strtolower(strrev($ext[0])) ;
return $ext ;
}
Run Code Online (Sandbox Code Playgroud)
我是重新发明一个轮子还是可以提高效率?
加载时我的页面会发生奇怪的事情.
似乎总是将#.UB7lYmMk67s附加到网址的末尾,这对访问者来说不太好看.
我已经确认它不是我的javascript代码或自定义PHP包含函数.
有没有人有任何想法可能导致这个?
你可以在这里看到它:
http://www.caketopper.co.uk/2012/animal-cake-toppers/christening-bear
一旦页面完成加载,你会注意到这个垃圾被添加到它的末尾.
我的.htaccess似乎很好,但无论如何它在这里:
RewriteEngine On
RewriteRule ^cake-toppers/([a-z\-]+)$ topper-page.php?topperurlname=$1
RewriteRule ^animal-cake-toppers/([a-z\-]+)$ topper-page.php?topperurlname=$1
RewriteRule ^people-cake-toppers/([a-z\-]+)$ topper-page.php?topperurlname=$1
Run Code Online (Sandbox Code Playgroud) 我正在尝试在使用 javascript/jquery 上传图像文件之前对其进行验证。
这是我到目前为止所拥有的:
$('#cropimages').click(function(){
i = 1 ;
var valid = new RegExp('/^.*\.(jpg|jpeg|png|gif)$/') ;
$('input').each(function(){
if($(this).attr('name') == 'file'+i)
{
val = $(this).val() ;
r = valid.exec(val) ;
alert(r) ;
i++ ;
}
})
//$('#topperform').submit()
})
Run Code Online (Sandbox Code Playgroud)
但是null
无论我选择哪种文件,它都会不断回来。
我需要怎么做RegExp
才能使这项工作发挥作用?
当我单击一个单元格进行编辑,然后按回车键时,没有任何反应.
当按下回车键时,如何保存网格?
我已经尝试在编辑处理程序中绑定键代码,但这不起作用.
我需要它来保存单元格的内容,以便在我的应用程序中实现良好的可用性.目前,保存网格内容的唯一方法是单击单元格.
我试图从相关的表中获取行:
$Product->where('name', 'LIKE', '%' . $filters['search'] . '%')
->orWhere('brand', 'LIKE', '%' . $filters['search'] . '%');
Run Code Online (Sandbox Code Playgroud)
但它不起作用,因为它只是从products
表中选择.
我的产品型号是:
class Product extends Eloquent {
protected $table = 'products';
public function brands() {
return $this->hasOne('ProductBrands', 'id', 'brand_id');
}
public function ages() {
return $this->hasOne('ProductAges', 'id', 'age_id');
}
public function types() {
return $this->hasOne('ProductTypes', 'id', 'type_id');
}
public function images() {
return $this->hasMany('ProductImages');
}
public function toArray() {
$ar = $this->attributes;
$ar['brand'] = $this->brand;
$ar['age'] = $this->age;
$ar['type'] = $this->type;
return $ar; …
Run Code Online (Sandbox Code Playgroud) 我怎么能简单地删除小数位后的所有内容,包括小数,所以我留下一个整数?
即325.6899
需要325
没有四舍五入.
理想情况下,我喜欢这样做的功能,但我不知道Javascript中的任何功能.
我有:
Mail::send('emails.booking-confirmation', [
'name' => $name,
'email' => $email,
'tel' => $tel,
'msg' => $msg,
'date' => Carbon::parse($date)->format('l, jS \o\f F, Y \a\t H:ia'),
'service' => $q->service,
'duration' => $q->duration . ' minutes'
], function ($m) use ($name, $email) {
$m->from('myemail@ddress.co.uk', 'Subject');
$m->to($email, $name)->subject('Your Booking');
});
Run Code Online (Sandbox Code Playgroud)
使用AWS SES发送时,我得到:
Error executing "SendRawEmail" on "https://email.eu-west-1.amazonaws.com"; AWS HTTP error: Client error: `POST https://email.eu-west-1.amazonaws.com` resulted in a `400 Bad Request` response:
<ErrorResponse xmlns="http://ses.amazonaws.com/doc/2010-12-01/">
<Error>
<Type>Sender</Type>
<Code>MessageReje (truncated...)
MessageRejected (client): Email address is not verified. …
Run Code Online (Sandbox Code Playgroud)