很抱歉问这个问题,即使看了其他问题我也无法让它工作......
我在"json.php"中有一个JSON输出,例如:
[
{"serverid":"1","servername":"Server One"},
{"serverid":"2","servername":"Server Two"}
]
Run Code Online (Sandbox Code Playgroud)
我有一个脚本,用于获取数据并将其解析为变量
var servers;
jQuery.get('json.php', function(data) {
servers = JSON.parse(data);
jQuery('#servers').servers.servername
});
Run Code Online (Sandbox Code Playgroud)
我有一个div输出结果:
<div id="servers"></div>
Run Code Online (Sandbox Code Playgroud)
无论我尝试什么,我总会得到一些
"未捕获的TypeError:无法读取未定义的属性'servername'错误.
我也想看看结果,但我甚至无法打印出来.
再次抱歉这样的另一个问题
我不确定这是"正确的"做事方式,但逻辑是有效的.我在Laravel设置中拥有自己的课程,我use在控制器中.在我的控制器中,我在自定义类中调用一个函数,但是如果在该函数中发生某些事情,我想重定向用户.
在IRC上聊天后,我告诉你不能在你自己的课程中进行重定向,你必须" 从控制器返回重定向响应对象".
不完全确定这意味着什么,但我想你必须从控制器那里做重定向.
代码(简化,它正在工作):
Controller method:
// Validate the incoming user
$v = new SteamValidation( $steam64Id );
// Check whether they're the first user
$v->checkFirstTimeUser();
Run Code Online (Sandbox Code Playgroud)
这将转到我的SteamValidation类(app/Acme/Steam/SteamValidation.php和namespaced),它会检查:
public function checkFirstTimeUser() {
// Is there any users?
if( \User::count() == 0 ) {
$user_data = [
// Data
];
// Create the new user
$newUser = \User::create( $user_data );
// Log that user in
\Auth::login($newUser);
// Redirect to specific page
return \Redirect::route('settings');
}
return;
}
Run Code Online (Sandbox Code Playgroud)
现在,如果计数超过0,那么它只会返回控制器,我很乐意继续.但是,如果它是一个新用户并且我尝试进行重定向(return \Redirect::route('settings'); …
我在使用支持日后缀的自定义过滤器在Firefox和Safari中正确显示日期时遇到问题.我以以下格式获取UTC日期:
yyyy-mm-dd hh-mm-ss
然后我有一个自定义DateFilter,取代oo后缀,即2nd:
var suffixes = ["th", "st", "nd", "rd"];
return function(input, format) {
input = new Date(input).getTime();
var dtfilter = $filter('date')(input, format);
var day = parseInt($filter('date')(input, 'dd'));
var relevantDigits = (day < 30) ? day % 20 : day % 30;
var suffix = (relevantDigits <= 3) ? suffixes[relevantDigits] : suffixes[0];
return dtfilter.replace('oo', suffix);
};
Run Code Online (Sandbox Code Playgroud)
这适用于Chrome,我将以下内容传递到我的模板中,并获得预期日期:
{{ date.date_utc | DateFilter:'EEEE MMMM doo yyyy' | uppercase }} =
SATURDAY NOVEMBER 1ST 2014
在Firefox/Safari上,它返回为: …
在我的应用程序中,当用户登录并浏览他们的名字时,导航栏的右上角会显示头像.例:
<li>
<a class="btn" href="#">
<img id="user-avatar" src="{{ $userAvatar }}" alt="" /> {{ $userNickname }}
</a>
</li>
Run Code Online (Sandbox Code Playgroud)
但是我希望弹出窗口显示5秒,低于用户名/头像区域,显示"您已成功登录".这是可能的,因为我有一个成功登录后仅为页面设置的会话(在页面被更改/刷新后它被销毁).
我的计划是已经在列表项上设置了popover属性,并且当设置登录会话时,它会运行一些javascript来触发弹出窗口:
<li id="popover" rel="popover" data-content="You Logged In" data-original-title="Success!">
<a class="btn" href="#">
<img id="user-avatar" src="{{ $userAvatar }}" alt="" /> {{ $userNickname }}
</a>
</li>
@if (Session::has('login_success'))
<script type="text/javascript">
$(document).ready(function() {
$('#popover').popover();
});
</script>
@endif
Run Code Online (Sandbox Code Playgroud)
我知道我错过了数据动画="底部",但无论我做什么都没有发生!
我知道这很多,但我无法让它工作:/
<div class='container'>
<img src="images/1.jpg" alt="">
<img src="images/2.jpg" alt="">
</div>
Run Code Online (Sandbox Code Playgroud)
所以我有 2 个图像,下面的 CSS 被固定为浏览器窗口的完整大小:
<style type="text/css">
.container {
position:fixed;
top:-50%;
left:-50%;
width:200%;
height:200%;
}
.container img {
position:absolute;
top:0;
left:0;
right:0;
bottom:0;
margin:auto;
min-width:50%;
min-height:50%;
}
</style>
Run Code Online (Sandbox Code Playgroud)
目前,它仅显示以全尺寸显示的最后一张图像 (2)。但是,我想使用一些 jQuery 来显示第一个,然后在 X 秒后淡出数字 1 并在每个图像中循环淡出。我认为最好使用 setInterval,然后使用淡入淡出和淡入淡出图像,但无论我做什么都不起作用。
我试图沿着这条线走下去:
<script type="text/javascript">
$(document).ready(function() {
$('.container').children('img').each(function(i) {
$(this).fadeOut();
});
});
</script>
Run Code Online (Sandbox Code Playgroud) 我正在使用Laravel 4项目中的"Steam Condenser"软件包.用户登录我的应用程序后,我会设置一个带有ID(steamId)的会话.此ID可用于获取各种数据(名称,头像等),例如:
$steamUser = new SteamId( Session::get('steamId') );
$username = $steamUser->getNickname();
Run Code Online (Sandbox Code Playgroud)
现在这个工作,但是我将在很多页面上(以及在控制器中)使用这些数据.我不想做的是每次都宣布一个新课 - 所以我的问题是:
$username = $steamUser->getNickname();- 显然只有当它(Session::has('steamId'))是真的.我看到两种方法:
'before' => 'filter'.然而,这可能会变得过度.我希望这是有道理的(我的PHP知识不是那么好) - 基本上我不想一直这么做new SteamId( Session::get('steamId') );!
在 Laravel 4 中,我有几个接口当前绑定到 Eloquent 存储库。在我的控制器中,我会这样做:
use Acme\Repositories\User\UserRepository;
class UserController extends BaseController {
/**
* @var UserRepository
*/
protected $users;
public function __construct(UserRepository $users)
{
$this->users = $users;
}
Run Code Online (Sandbox Code Playgroud)
然后我可以访问我的自定义方法以使用 Eloquent 获取数据。
但是,我如何在自己的课堂上做到这一点?
use Acme\Repositories\Notification\NotificationRepository;
use Acme\Services\ServiceInterface;
class HipChatService implements ServiceInterface {
protected $notifications;
public function __construct(NotificationRepository $notifications)
{
$this->notifications = $notifications;
}
Run Code Online (Sandbox Code Playgroud)
要在路线中进行测试:
use Acme\Services\HipChat\HipChatService;
Route::get('hipchat', function()
{
$h = new HipChatService();
});
Run Code Online (Sandbox Code Playgroud)
然后我得到错误:
Argument 1 passed to Acme\Services\HipChat\HipChatService::__construct() must be an instance of Acme\Repositories\Notification\NotificationRepository, none given
现在我明白为什么会发生这种情况,但是我应该如何在我自己的类中使用存储库?我怎样才能调用控制器+方法而不发生这种情况?
干杯
我正在尝试提交表单,一旦用户已经接受他们想继续通过jQuery UI对话框.
<form method="POST" action="url" onsubmit="return APP.dom.confirm(this);">
<button type="submit" class="btn btn-sm btn-danger"><i class="fa fa-trash"></i></button>
</form>
Run Code Online (Sandbox Code Playgroud)
我的APP.dom.confirm方法看起来像:
confirm: function(form) {
$("#dialog-confirm").dialog({
modal: true,
buttons: {
"Confirm": function() {
$(form).submit();
},
"Cancel": function() {
$(this).dialog("close" );
}
}
});
return false;
}
Run Code Online (Sandbox Code Playgroud)
这是有效的,但是当他们点击确认我想要提交表单时.
$(form).submit();
Run Code Online (Sandbox Code Playgroud)
这不起作用.记录下来我得到了上面的HTML.我试过各种变化,但无济于事:
$(form).clostest('form').submit();
Run Code Online (Sandbox Code Playgroud)
我该如何提交this?
我正在尝试使用Browserify来加速我的Gulp工作流程.我正在关注此博文:http: //christianalfoni.github.io/javascript/2014/08/15/react-js-workflow.html
我有一切正常,变化最初非常快(500毫秒左右).
但是,每次保存文件时,此时间都会增加.我的任务:
gulp.task('browserify', function() {
var bundler = browserify({
entries: ['./src/js/app.js'],
debug: production,
cache: {},
packageCache: {},
fullPaths: true
});
var watcher = watchify(bundler);
return watcher
.on('update', function() {
var updateStart = Date.now();
function transform(next) {
console.log('JavaScript changed - recomiling via Browserify');
watcher.transform(babelify).bundle()
.pipe(source('bundle.js'))
.pipe(gulp.dest('./build/scripts'))
.on('end', next);
}
transform(function() {
gulp.start('usemin');
console.log('Complete!', (Date.now() - updateStart) + 'ms');
});
})
.transform(babelify)
.bundle()
.pipe(source('bundle.js'))
.pipe(gulp.dest('./build/scripts'));
Run Code Online (Sandbox Code Playgroud)
所以在第一次构建时,大约需要3秒钟(这包括一个文件).
然后,在文件更改时:
JavaScript changed - recomiling via Browserify
[11:31:24] Starting 'usemin'...
Complete! 608ms …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 Laravel 的Crypt功能,简单地将一个值存储在数据库中并稍后获取以使用。但是我注意到我无法解密这个值。
我的应用程序密钥是一个随机的 32 个字符的字符串。我的密码是MCRYPT_RIJNDAEL_128. 从 PHP 信息来看,已经安装了 MCRYPT,并且支持 RIJNDAEL_128。
为了测试,我在 GET rou 上执行以下操作:
$t = "123456789";
var_dump(Crypt::encrypt($t));
Run Code Online (Sandbox Code Playgroud)
见:http : //laravel.io/bin/2e9Xr#
在每次页面刷新时,输出都是不同的值,这显然是不正确的 - 但我不知道为什么。
我使用EasyPHP作为我的开发服务器。然而,我注意到的一件事是,与生产环境中的 Apache Web 服务器相比,应用程序请求在此环境中明显变慢。
这让我想知道是否每次都进行某种环境刷新,可能会重置 MCRYPT 用于加密的“资源”,因此每次都不同。
有什么线索吗?