我正在使用select2版本4.0,我正在尝试对选择框进行编程选择,该框从ajax调用获取其数据.
在文档中,我找到了如何以编程方式将值设置为常规select2,但我无法弄清楚如何使用ajax select来执行此操作.
如果我没记错的话,在旧版本中,您可以通过使用以下命令将数据传递给select2来设置当前值:
jQuery("selectbox").select2("data", data)
Run Code Online (Sandbox Code Playgroud)
我已经尝试了这个,并发送了一个带有,id,text和result的数据对象,但没有任何可见的事情发生,当我查询选择框的状态时,要查看所选的值,它将返回null.
此选项已删除,或只是更改?我在哪里可以在文档中找到它,或者我怎样才能实现所需的行为?
是否有可能以某种方式省略never打字稿中类型的所有类型?我有一个类型,它采用其他两种类型,并根据值生成第三种类型,并将所有错误或不同值的元素设置为从不:
type MapForeignKeys<TExpandMap extends expandMap, TForeignKeys> = {
[Prop in keyof TExpandMap]:
TExpandMap[Prop] extends { association: 'belongsTo', instance: BaseModel, foreignKey: any }
? TExpandMap[Prop]['instance']['_creationAttributes'] | TExpandMap[Prop]['instance'] | TForeignKeys[TExpandMap[Prop]['foreignKey']]
: never
}
Run Code Online (Sandbox Code Playgroud)
当我尝试使用此类型时,输出包含应设置为 的属性never,而不是从类型定义中省略这些类型,因此这变得不可用。
可以在此游乐场链接中找到描述我的问题的简单示例
编辑:带有一些可重现问题示例的新链接
我有两个MySQL查询,一个接一个,运行速度非常快:
查询1
SELECT Ads.AdId FROM Ads, AdsGeometry WHERE
AdsGeometry.AdId = Ads.AdId AND
(ST_CONTAINS(GeomFromText('Polygon((
-4.9783515930176 36.627100703563,
-5.0075340270996 36.61222072018,
-4.9896812438965 36.57638676015,
-4.965991973877 36.579419508882,
-4.955005645752 36.617732160006,
-4.9783515930176 36.627100703563
))'), AdsGeometry.GeomPoint))
GROUP BY Ads.AdId
Run Code Online (Sandbox Code Playgroud)
此查询以0.0013秒运行,并返回4行.
查询2
SELECT Ads.AdId FROM Ads, AdsHierarchy WHERE
Ads.AdId = AdsHierarchy.ads_AdId AND
AdsHierarchy.locations_LocationId = 148022797
GROUP BY Ads.AdId
Run Code Online (Sandbox Code Playgroud)
此查询以0.0094秒运行,并返回67行(其中3行与上述查询相同).
我试图将这两个查询合并为一个查询,因为稍后,两个查询的结果集应该一起排序,我想使用MySQL进行排序.这是我尝试过的,在它下面,你会发现它也是解释:
SELECT Ads.AdId FROM Ads, AdsHierarchy, AdsGeometry WHERE
Ads.AdId = AdsHierarchy.ads_AdId AND
AdsGeometry.AdId = Ads.AdId AND (
ST_CONTAINS(GeomFromText('Polygon((
-4.9783515930176 36.627100703563,
-5.0075340270996 36.61222072018,
-4.9896812438965 36.57638676015,
-4.965991973877 36.579419508882,
-4.955005645752 36.617732160006,
-4.9783515930176 36.627100703563
))'), …Run Code Online (Sandbox Code Playgroud) 我正在尝试两天,没有结果,在表中调整单行最小高度,但没有成功.
我使用以下方法来创建我的表:
<?php
$html = <<<EOD
<table style="border:1px solid black;">
<tr>
<td>
Text 1
</td>
<td>
Text 2
</td>
</tr>
</table>
EOD;
$this->writeHTMLCell($w=0, $h=0, $x='', $y='', $html, $border=0, $ln=1, $fill=0, $reseth=true, $align='', $autopadding=true);
?>
Run Code Online (Sandbox Code Playgroud)
我已经尝试设置td填充,td边距,td高度,tr高度,但没有成功.我也尝试过CSS和HTML.我唯一能做到的就是看到一行的高度大于原始值,但我想缩短它.我尝试在TCPDF的文档中搜索,但我发现唯一的事情是TCPDF不支持填充和边距.你们中的任何人都知道某种"黑客"来实现我想要的结果吗?
我可以在javascript变量中存储的数据量是否有限制?如是:
是受限于JavaScript还是浏览器?(它是固定数字还是可变数字?)
如果达到或超过限制怎么办?浏览器崩溃,或javascript引发错误?
如果我正在对不同的页面进行大量的ajax调用,并且我希望将这些ajax调用的结果存储在javascript中的全局变量中以供将来使用(以释放对服务器的查询量,并加快响应速度)用户获得),是否保证我的数据将存储在此变量中?
例如:
function afterAjaxResponse(responseText) {
cache[ajaxIdentifier]=responseText;
}
Run Code Online (Sandbox Code Playgroud)
我可以在"缓存"对象中存储多少数据?如果是,我可以以某种方式检查要存储的数据是否仍然适合它,如果没有,可以释放缓存吗?(例如使用try/catch)
编辑:可能的重复不回答我的问题,因为我想知道javascript对象的限制,而不是字符串,它也没有回答达到限制时发生的事情.
必须有一个限制,但很高兴知道,如果该限制来自javascript或浏览器,并且如果我能以某种方式检查是否达到该限制,则相应地解决问题.
我有点陷入困境,现在我正处于崩溃的边缘。有人请告诉我这里发生了什么。我现在已经玩了大约 4 个小时了,似乎无法找出为什么会发生这种情况!
TL/DR:为什么根据提供的第二个文件webpack找不到我的文件,但可以根据第一个文件解决它?但无论如何它都会解析该文件吗?config.scssincludePathtest.scss
我有以下 webpack 配置:
//webpack.config.js
... unrelated code ...
module.exports = merge(common, {
... unrelated code ...
modules: {
rules: [
{
test: /\.s(a|c)ss$/,
exclude: /\.module.(s(a|c)ss)$/,
loader: [
{
loader: MiniCssExtractPlugin.loader
},
{
loader: 'css-loader',
options: {
sourceMap: true
}
},
{
loader: 'sass-loader',
options: {
sourceMap: true,
implementation: require('sass'),
sassOptions: {
importer: globImporter(),
includePaths: [path.resolve(__dirname, './src/main/'), path.resolve(__dirname, './src/main/config/')]
}
},
}
]
}
]
},
... unrelated code ...
});
Run Code Online (Sandbox Code Playgroud)
该加载器将加载该 …
在我的package.json文件中,我指定了我的nodejs应用程序的类型module,因为如果我不这样做,似乎我不能使用import语句。这是现在的样子:
{
"name": "...",
"version": "1.0.0",
"description": "....",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"repository": {
"type": "git",
"url": "...."
},
"author": "",
"license": "ISC",
"devDependencies": {
"lodash": "^4.17.15"
},
"type": "module"
}
Run Code Online (Sandbox Code Playgroud)
但是如果我将"type": "module"加到我的package.json文件中,我就不能再使用require语句了,因为我得到了一个ReferenceError: require is not defined错误。
如果我"type": "module"从package.json 中删除该行,并将所有导入重写为 requires,则一切正常,没有错误。
我似乎无法找到任何迹象,这import与require在同一个脚本不能混用或一起使用,我失去了一些东西在这里,或我有一些其它的错误?我怎样才能决定在同一个脚本中使用这两种语句?
为什么我需要这个,是因为我想要 …
我正在尝试向googleapis发送curl请求,以获取用户信息.当我使用php脚本发送cURL请求时,需要5秒才能完成,但是,当我尝试使用curl命令直接从服务器发送相同的请求时,结果立即返回.
这是我使用的php脚本:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://www.googleapis.com/oauth2/v2/userinfo");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch,CURLOPT_HTTPHEADER,array('Authorization: Bearer '.$accessToken));
$output=curl_exec($ch);
Run Code Online (Sandbox Code Playgroud)
这是我用过putty的curl命令:
curl --header "Authorization: Bearer xxxxxx" https://www.googleapis.com/oauth2/v2/userinfo
Run Code Online (Sandbox Code Playgroud)
可能是什么问题呢?
注意: php脚本在我通过putty发出curl命令的同一台服务器上运行
注意2:这可能是某种DNS查找问题吗?首先,通过命令行运行相同的命令也需要大约5秒钟才能完成,因为www.googleapis.com不在我们的DNS服务器中.从那时起,我们手动添加它,命令行功能运行得更快.PHP使用什么样的DNS信息,如果我更新服务器上的DNS信息,它是否会自动更新为PHP?
注3: 挖掘www.googleapis.com返回以下内容:
; << >> DiG 9.8.2rc1-RedHat-9.8.2-0.37.rc1.el6_7.4 << >> www.googleapis.com
;; 全局选项:+ cmd
;; 得到答案:
;; - >> HEADER << - 操作码:QUERY,状态:NOERROR,id:5273
;; 旗帜:qr rd ra; QUERY:1,答案:2,授权:0,附加:0;; 问题部分:
; www.googleapis.com.在一个;; 答案部分:
www.googleapis.com.1536 IN CNAME googleapis.l.google.com.
googleapis.l.google.com.172 IN A 216.58.218.170;; 查询时间:0毫秒
;; 服务器:10.0.80.11#53(10.0.80.11)
;; 时间:2015年9月9日星期三14:35:04
;; MSG SIZE rcvd:89
这个问题与我的另一个问题有关,在这里找到。
起初我认为这是一个网络问题,但似乎越来越有可能,这与我的 php 配置和 php 文件的运行有关。我做了以下测试用例:
我创建了一个名为 it 的 php 文件,test.php内容如下:
<?php
echo 'test';
?>
Run Code Online (Sandbox Code Playgroud)
并创建了两个 bash 文件,内容如下:
//bash1.sh
#!/bin/bash
/usr/bin/php /testFirstByte/test.php
Run Code Online (Sandbox Code Playgroud)
另一个与
//bash2.sh
#!/bin/bash
echo Test;
Run Code Online (Sandbox Code Playgroud)
然后我开始为他们的运行计时,运行每一个并在它之前使用“time”命令,即: time php test.php
结果如下:
// time php test.php
test
real 0m0.548s
user 0m0.445s
sys 0m0.101s
Run Code Online (Sandbox Code Playgroud)
// time sh bash2.hs
Test
real 0m0.002s
user 0m0.002s
sys 0m0.000s
Run Code Online (Sandbox Code Playgroud)
// time sh bash1.hs
X-Powered-By: PHP/5.5.30
Content-type: text/html; charset=utf-8
test
real 0m0.539s
user 0m0.429s
sys 0m0.108s
Run Code Online (Sandbox Code Playgroud)
对我来说,每当我尝试运行 PHP 脚本时,无论我尝试运行哪个 php 脚本,运行时间都会增加至少半秒。我不知道如何解决这个问题,所以任何帮助将不胜感激!
编辑 …
考虑以下代码:
class Test {
public $definedButNotSet;
}
$Test = new Test();
var_dump($Test->definedButNotSet=== null); // true
var_dump(isset($Test->definedButNotSet)); // false
$Test->definedButNotSet = null;
var_dump(isset($Test->definedButNotSet)); // false
Run Code Online (Sandbox Code Playgroud)
在我看来,PHP 隐式地将定义的变量设置为 null。有没有办法规避这一点,并区分显式设置为null的变量和仅定义但未设置为任何值的变量?
更新:
我基本上想看看在运行时definedButNotSet变量是否被更新。所以我对以下代码的预期结果是:
$Test = new Test();
var_dump(isset($Test->definedButNotSet)); // false
$Test->definedButNotSet = null;
var_dump(isset($Test->definedButNotSet)); // true expected here but php returns false
Run Code Online (Sandbox Code Playgroud)
一个实际用例,其中差异确实很重要,基本上这也是我的用例:更新数据库中的行时,我想更新表的行,用户仅在调用更新方法时更改。为此,我必须知道,用户是否隐式修改了表示表中行的类中的任何变量。
我正在运行一个自定义 ORM,目前它失败了,如果我在数据库中插入一行并将 default_timestamp 方法设置为默认值的列,并且在同一个运行时,我尝试再次更新同一行,由于数据库设置值没有反映在我的类实例中,因此在更新时 PHP 发送给他的值为 null,这是不允许的。
php ×4
javascript ×2
ajax ×1
benchmarking ×1
css ×1
curl ×1
html ×1
jquery ×1
mysql ×1
node-modules ×1
node.js ×1
sass ×1
sass-loader ×1
tcpdf ×1
typescript ×1
webpack ×1