我有一个写得不好的应用程序是 php“意大利面代码”
我需要实现一个网络套接字,我可以在其中使用 PHP 调用 API。
我尝试使用 Node.js,但问题是我需要检查很多东西才能使用 php。
我认为如果我有一个 PHP websocket 设置而不是 node.js 会更容易,其中第 1 步和第 2 步已经由我的 APP 处理,我只是编写一个客户端代码,该代码将与 websocket 通信以检索新消息.
听起来Ratchet是一个很好的方法,但如果我的 APP 没有设置来使用 Composer 或自动加载器,我不确定如何使用 Composer 在我的 APP 中安装它。
当我正在处理一个将我的应用程序转换为 Laravel 5.1 的项目时,我迫切需要实现 websocket 以减少发送到我的服务器的 TCP 连接数量。
如何安装 Ratchet?如果我无法在当前环境中安装它,是否有我可以使用而不是使用 Ratchet 的替代软件包?
我正在尝试在SharedWorker中实现服务器发送事件(SSE)。
该实现在Google Chrome浏览器中没有任何问题。但是,它根本无法在FireFox中使用。
当我尝试使其在FireFox中工作时,我在控制台中收到此错误。
error {
target: SharedWorker,
isTrusted: true,
message: "ReferenceError: EventSource is not defined",
filename: "https://example.com/add-ons/icws/js/worker.js",
lineno: 28,
colno: 0,
currentTarget: SharedWorker,
eventPhase: 2,
bubbles: false,
cancelable: true,
defaultPrevented: false
}
Run Code Online (Sandbox Code Playgroud)
我如何EventSource
在里面使用SharedWorker
?
这就是我建立连接的方式 SharedWorker
$(window).load(function(){
//establish connection to the shared worker
var worker = new SharedWorker("/add-ons/icws/js/worker.js" );
//listen for a message send from the worker
worker.port.addEventListener("message",
function(event) {
console.log( Math.random() );
processServerData(event.data);
}
, false
);
worker.onerror = function(event){
console.log(event);
};
//start the connection …
Run Code Online (Sandbox Code Playgroud) 我正在尝试将Laravel项目的数据库使用SQL Server。我能够将SQL Server与Laravel 5.2连接。但是,当我尝试将数据植入表中时,出现此错误
[Illuminate\Database\QueryException] SQLSTATE[23000]: [Microsoft][SQL Server Native Client 11.0][SQL Server]Cann ot insert explicit value for identity column in table 'surveys' when IDENTITY_INSERT is set to OFF. (SQL: insert into [surveys] ([id], [name]) values (10, 'Some Text'))
Run Code Online (Sandbox Code Playgroud)
注意:我正在尝试提供标识值,这可能是导致问题的原因。
在研究SQL错误时,我了解到我需要执行以下查询。
在播种之前,我需要执行
SET IDENTITY_INSERT surveys ON;
Run Code Online (Sandbox Code Playgroud)
播种后,我需要执行
SET IDENTITY_INSERT surveys OFF;
Run Code Online (Sandbox Code Playgroud)
但是我不确定如何使用Laravel执行这些命令
在没有出现此问题的情况下,如何在为身份列提供值时播种?
更新这是我的播种机
<?php
use Illuminate\Database\Seeder;
class FinalSurveyTS extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
$myTable = 'surveys';
DB::statement('SET …
Run Code Online (Sandbox Code Playgroud) 我有一个正在运行的页面http://some.example.com/myiframes/default.aspx
。这个页面有一个 iframe。iframe 源/包含 Laravel 5.2 基础应用程序。
我的 Laravel 页面 URL“这是 iframe 的来源”是https://laravel.example.com。
https://laravel.example.com有一个带有提交按钮的表单。当用户点击它时,他/她会点击同一域上的另一条路线,即https://laravel.example.com/disply/survey
但是每次,我提交表单时都会收到以下异常
TokenMismatchException in VerifyCsrfToken.php line 67:
Run Code Online (Sandbox Code Playgroud)
为了确保我清楚,在页面上http://some.example.com/myiframes/default.aspx
我的代码看起来像这样
在我的 laravel 应用程序上,它位于https://laravel.example.com
这里是我的表单
<form method="POST" action="https://laravel.example.com/disply/survey" accept-charset="UTF-8" class="form">
<input name="_token" type="hidden" value="Dk6SN4WzO4brbvdnBO6JZ7e1lBGjmYz8GQJ1lYFo">
<input name="survey_id" type="hidden" value="10">
<input name="call_id" type="hidden" value="667">
<input name="pools" type="hidden">
<input name="alt_id_1" type="hidden" value="250">
<input name="alt_id_2" type="hidden" value="5">
<input name="alt_id_3" type="hidden">
<input name="alt_id_4" type="hidden">
<input name="alt_id_5" type="hidden">
<input name="alt_id_6" type="hidden">
<input name="alt_id_7" type="hidden">
<input name="alt_id_8" type="hidden">
<input …
Run Code Online (Sandbox Code Playgroud) 我相信SELECT
SQL Server 中的每个语句都会导致放置共享锁或密钥锁.但它会在交易中放置相同类型的锁吗?共享锁或密钥锁是否允许其他进程读取相同的记录?
例如,我有以下逻辑
Begin Trans
-- select data that is needed for the next 2 statements
SELECT * FROM table1 where id = 1000; -- Assuming this returns 10, 20, 30
insert data that was read from the first query
INSERT INTO table2 (a,b,c) VALUES(10, 20, 30);
-- update table 3 with data found in the first query
UPDATE table3
SET d = 10,
e = 20,
f = 30;
COMMIT;
Run Code Online (Sandbox Code Playgroud)
此时我的select语句仍会创建共享锁或密钥锁,还是会升级为独占锁?其他事务是否能够从table1读取记录,还是所有事务都会等到我的事务被提交,然后其他事务才能从中进行选择?
在一个应用程序中它是否因为将select语句移到事务之外而只是将插入/更新保留在一个事务中?
我正在尝试使用CSS Bootstrap 词缀和list-group
菜单创建一个粘性菜单.
除了用户向下滚动时,我设法让大部分工作都能正常工作.
当用户向下滚动时,菜单似乎占据了整个页面.
我试图通过数据属性进行设置
用这样的东西
<div class="container">
<div class="row">
<div class="col-md-3" id="leftCol">
<div data-spy="affix">
<div class="list-group list-group-root well">
<a class="list-group-item" href="#introduction">Introduction</a>
<a class="list-group-item" href="#features">Features</a>
<a class="list-group-item" href="#dependencies">Dependencies</a>
</div>
</div>
</div>
<div class="col-md-9" id="mainCol">
Some long text for the body along with some tables.
</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
但数据属性没有使菜单坚持!它只是保持在顶部.
所以我试着用JS来完成这样的工作
$(function(){
$('#leftCol').affix({
offset: {
top: 100,
bottom: function () {
return (this.bottom = $('.footer').outerHeight(true))
}
}
});
});
Run Code Online (Sandbox Code Playgroud)
我创建了jsFiddle来向您展示当前的行为.
如何解决这个问题,affix
以便当用户向下滚动菜单时保持相同的形状?
我有一个ASP.NET MVC 5/C#项目.在我的项目中,我有两个模型,Rule
和MenuItem
.MenuItem
有一个引用的外键Rule
.并且Rule
有一个引用的外键MenuItem
.
值得一提的是,我的模型在模型名称中有一个前缀.另外,我使用数据库第一种方法.
我希望能够使用所需的规则获取MenuItem,.Include(...)
并且我希望能够使用MenuItem获取规则
这是我的模特
[Table("Rules")]
public class PrefixRule
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public string Id { get; set; }
[ForeignKey("Item")]
public int ModuleId { get; set; }
public string Name { get; set; }
public virtual PrefixMenuItem Item { get; set; }
}
[Table("MenuItems")]
public class PrefixMenuItem
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public string Id { get; set; }
[ForeignKey("RequiredRule")]
public int? RequiredRuleId { get; set; } …
Run Code Online (Sandbox Code Playgroud) 我正在使用bootstrap-multiselect为用户提供两个关键菜单上的出色控制器。我的第一个菜单被称为groups
和其他被称为queues
. 队列中的每个选项都有一个 HTML5 数据属性(即 data-group="X",其中 X 是组值)
当用户从groups
菜单中选择一个选项/组时,我想查找并隐藏queues
菜单中data-group
不等于组菜单中选定组的每个队列/选项。
在确定需要隐藏/显示的队列/项目后,我尝试使用.show()
和.hide()
扩展。然后我尝试使用.addClass('hidden')
和.removeClass('hidden')
方法,但没有什么对我有用。
如何使用bootstrap-multiselect 动态显示/隐藏项目?
这是我的代码
$(function () {
var queueGroupIds = $('#QueueGroupIds');
var queueIds = $('#QueueIds');
queueGroupIds.multiselect({
nonSelectedText: 'Select group(s)',
onChange: function (option, checked, select) {
var groups = queueGroupIds.find('option:selected');
if (groups.length == 0) {
//When none of the groups are selected, show all queues!
queueIds.find('option').each(function (i, q) {
$(q).show();
}); …
Run Code Online (Sandbox Code Playgroud) javascript jquery multi-select twitter-bootstrap bootstrap-multiselect
我有一个在 Asp.Net MVC 5 框架之上使用 C# 编写的应用程序。
我的目标是调用第三方服务来下载波形文件。然后我想把这个文件转换成mp3。最后,我想将 mp3 文件返回为 (byte[]),以允许用户直接从内存下载它。
这是我的代码最终的结果,允许用户从内存下载转换后的文件
public ActionResult Download(int? id)
{
// Download and convert the file
// the variable "someUri" is generated based on the provided id value
byte[] filedata = ConvertToMp3(someUri);
var cd = new System.Net.Mime.ContentDisposition
{
FileName = "filename.mp3",
Inline = true,
};
Response.AppendHeader("Content-Disposition", cd.ToString());
return File(filedata, "audio/mpeg");
}
Run Code Online (Sandbox Code Playgroud)
但我对该方法有疑问ConvertToMp3
。
我正在使用NAudio库来转换文件。到目前为止,这是我的代码
public void ConvertToMp3(Uri uri)
{
using (var client = new WebClient())
{
byte[] file = client.DownloadData(uri); …
Run Code Online (Sandbox Code Playgroud) 我需要手动触发change
菜单上的事件。但是然后我需要等到change
事件完成执行然后我才能执行操作。
这是我试图在代码中执行的操作
$('#menu').change(function(){
// do some work
// make multiple AJAX calls....
});
$('#button').click(function(){
$('#menu').val(5).change(); // once change is completed I want to do some logic here.
});
Run Code Online (Sandbox Code Playgroud)
这是我尝试过的,但似乎没有等待change()
事件完成。
$('#button').click(function(){
$('#menu').val(5).change().promise().done(function(){
// do some work after the change() event is completed..
});
});
Run Code Online (Sandbox Code Playgroud)
在更改事件完成之前如何正确执行代码?
更新
我尝试了以下方法,但似乎仍然不起作用
$('#menu').change(function(){
makeAjaxCalls($(this).val());
});
$('#button').click(function(){
makeAjaxCalls(5, function(){
// do some work after the makeAjaxCalls() is completed..
});
});
function makeAjaxCalls(id, callback) {
var task = $.Deferred(function(){
// Make all …
Run Code Online (Sandbox Code Playgroud) javascript ×4
jquery ×4
php ×3
c# ×2
laravel ×2
laravel-5.1 ×2
sql-server ×2
asp.net-mvc ×1
css ×1
entity ×1
firefox ×1
lamemp3 ×1
laravel-5 ×1
laravel-5.2 ×1
locks ×1
mp3 ×1
multi-select ×1
naudio ×1
node.js ×1
promise ×1
ratchet ×1
sql ×1
transactions ×1
websocket ×1
worker ×1