我知道它看起来像一个平庸的问题,但请阅读整个事情,我很难过.
我的一个页面上有一个AJAX调用,它是一个动态消息传递系统:
function validateMessage(){
var recipient = document.getElementById("send_to").value;
var subject = document.getElementById("popup_subject").value;
var message = document.getElementById("popup_message").value;
var parameters="message="+message+"&recipient="+recipient+"&subject="+subject;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("error_mess").innerHTML = xmlhttp.responseText;
}
}
xmlhttp.open("POST","include/send_message.php",false);
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded")
xmlhttp.send(parameters);
}
Run Code Online (Sandbox Code Playgroud)
由于某种原因,它被实现为同步,这不是问题所在.我尝试切换到异步,问题仍然存在.
这是send_message.php文件,它只是抓取POST变量并将它们保存到数据库中:
<?php
session_start();
include('db.php');
dbConnect();
$message=$_POST['message'];
$subject=$_POST['subject'];
$recipient=$_POST['recipient'];
$result=mysql_query("select * from korisnici where username='$recipient' ") or die(mysql_error());
$row=mysql_fetch_array($result);
$num=mysql_num_rows($result);
if($recipient=="Poruka za..." || …Run Code Online (Sandbox Code Playgroud) 我已经使用他们的安装指南在我的Linux/Apache服务器上的根目录(这是默认选项)中成功安装了Composer.到目前为止,这一切都非常简单,除了一个php.ini调整我必须做(detect_unicode = Off)但现在我被卡住了.
我正在尝试使用Composer安装Ratchet,并使用本指南:
http://socketo.me/docs/install
它说我需要" 在你的项目文件夹中创建一个名为composer.json的文件 ".所以我在我的应用程序的根目录中使用cPanel文件管理器创建了该文件(包含他们在页面上提供的内容).但是,当我运行Composer时:
php composer.phar install
Run Code Online (Sandbox Code Playgroud)
PuTTy给出以下错误消息:
Composer could not find a composer.json file in /root
To initialize a project, please create a composer.json file as described in the http://getcomposer.org/ "Getting Started" section
Run Code Online (Sandbox Code Playgroud)
但这似乎没有意义,如果文档说将JSON文件放在项目文件夹中,为什么我会将JSON文件放在服务器的根目录中呢?我错过了什么?
我正在学习Node.js,我刚刚开始使用一些MySQL连接.我有一个函数,它应该从数据库中获取一组行,它正确地执行.但是,我不知道如何在之后返回那组行.我尝试了两个选项(在下面的代码段中的注释中都有解释).
function fetchGameList(){
var ret = 0;
connection.query("SELECT * from tbl", function(err, rows, fields) {
//some stuff happens here, and 'ret' is set to a vlue, for instance
//ret = 7;
//ret has the value 7 here, but if I put 'return ret' here, nothing is returned
});
return ret; //returns 0 because Node is asynchronous and the query hasn't finished yet
}
Run Code Online (Sandbox Code Playgroud)
所以,问题是,如何返回正确的值ret(在这种情况下为7)?我是否正确地构建了这个?
我遇到了一个基本的MySQL查询令人困惑的问题.
这是我的表:
id | rating
1 | 1317.17
2 | 1280.59
3 | 995.12
4 | 973.88
Run Code Online (Sandbox Code Playgroud)
现在,我试图找到rating列大于某个值的所有行.如果我尝试以下查询:
SELECT * FROM (`users`) WHERE `rating` > '995.12'
Run Code Online (Sandbox Code Playgroud)
它正确返回2.
但是,如果我尝试
SELECT * FROM (`users`) WHERE `rating` > '973.88'
Run Code Online (Sandbox Code Playgroud)
它回来了4!所以就好像它认为表中的973.88大于973.88,但它与995.12没有同样的错误.无论我是从PHP脚本还是在phpMyAdmin中运行查询,都会发生这种情况.
有任何想法吗?
mysql floating-point floating-accuracy floating-point-conversion
我继承了一个 Vue.js 项目,其中包括:
import Multiselect from 'vue-multiselect';
<multiselect :multiple="true"
v-model="selectedTags"
:options="tagOptions"
label="title"
track-by="id"></multiselect>
Run Code Online (Sandbox Code Playgroud)
现在,在同一页面上,我们还应该有一个不同的多选对象,从不同的位置导入,如下所示:
import Multiselect from './../../../../../../vendor/devcompany/scripts/vue/components/form/multiselect.vue';
<multiselect v-model="selectedTeacherIds"
:sortable="true"
:options="computedTeacherOptions">
<template slot="selected-option-value" slot-scope="{optionKey}">
{{teacherNames[optionKey]}}
</template>
Run Code Online (Sandbox Code Playgroud)
其中每一个单独工作都很好,但我应该以某种方式导入它们并在同一组件中使用它们。显然,如果不对代码进行某种修改,这将无法工作。
是否有某种语法可以import as更改其中一个对象的名称?或者我是否需要进入其中之一的源代码并更改其中的命名?前者(或不需要更改多选核心文件本身的其他解决方案)会更理想。
编辑:这就是代码更广泛的样子。
import Multiselect from 'vue-multiselect';
import BbcodeEditor from './../elements/bbcode-editor';
import ApiVideoSelect from './api-video-select';
/* import other assets */
export default {
components: {ApiVideoClassDetail, ApiProgramCard, ApiUploader, Multiselect, Draggable, Datepicker, BbcodeEditor, ApiVideoSelect},
Run Code Online (Sandbox Code Playgroud)
所以我想知道如何编辑此语法以在不同的名称下添加其他多选。我不明白这是如何运作的:
import Multiselect from 'vue-multiselect';
import Multiselect from './../../../../../../vendor/frismedia/scripts/vue/components/form/multiselect.vue';
Run Code Online (Sandbox Code Playgroud) 免责声明 - 我不完全确定这是可能的.但在那种情况下,我仍然希望有人指出可能的替代方案或某种类型的黑客.
这是情况.
我有一个使用jQuery UI Sortable的工作列表,因此用户可以拖放列表中的项目.
jQuery:
$(document).ready(function() {
$("#test-list").sortable({
handle : '.big-handle',
update : function () {
var order = $('#test-list').sortable('serialize');
$("#info").load("../sortable/process-sortable.php?"+order);
}
});
});
Run Code Online (Sandbox Code Playgroud)
Ajax部分将新订单存储在数据库中,您无需担心这一点.
HTML:
<ul id="test-list">
<li id='listItem_1'><div class='main-item big-handle'><img src='../sortable/arrow.png' alt='move' width='16' height='16' class='handle' /><strong>Item 1</strong></div></li>
<li id='listItem_2'><div class='main-item big-handle'><img src='../sortable/arrow.png' alt='move' width='16' height='16' class='handle' /><strong>Item 1</strong></div></li>
<li id='listItem_3'><div class='main-item big-handle'><img src='../sortable/arrow.png' alt='move' width='16' height='16' class='handle' /><strong>Item 1</strong></div></li>
</ul>
Run Code Online (Sandbox Code Playgroud)
一切正常.现在,棘手的部分.我的客户希望每个列表项旁边都有一个输入字段,用户可以输入一个数字,该数字应该onBlur将该列表项移动到指定位置.因此,如果用户在列表项目号旁边的字段中输入"1".3,然后该项应该移动到列表中的第一个点,就像它被拖动到那里一样.可以这样做吗?
你不需要为整个列表提出完整的解决方案,让我们说我只需要一个可以移动项目号的字段.3左右.
在我的网站上,如果使用https打开页面,则Chrome无法加载样式表.
例如,在页面test.php上我有以下CSS包括:
<link href="http://www.domain.com/css/mainstyle.css" rel="stylesheet" type="text/css">
Run Code Online (Sandbox Code Playgroud)
它使用绝对路径,因为有很多SEO,子目录等,所以像这样包含它比通过寻找相对路径更容易.
如果我打开页面http://www.domain.com/test.php它工作正常,但如果我打开它作为https://www.domain.com/test.php Chrome拒绝加载样式表!
它适用于Firefox和Safari.我可以理解IE是一个"特殊需求"浏览器,但为什么Chrome会这样做,我该如何解决?
使用https://domain.com/css/mainstyle.css调用CSS文件可以解决问题,但这是否真的有必要?
我在Laravel应用程序中使用Ajax发出了一堆POST请求。
典型的请求如下所示:
$.ajax({
url: '/path/to/method',
data: {'id': id},
type: 'POST',
datatype: 'JSON',
success: function (response) {
//handle data
},
error: function (response) {
//handle error
}
});
Run Code Online (Sandbox Code Playgroud)
我已经设置了CSRF令牌,并且大多数情况下一切正常:
jQuery(document).ready(function(){
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
});
Run Code Online (Sandbox Code Playgroud)
但是,经过长时间的中断(例如,计算机长时间处于睡眠状态),所有Ajax调用都会返回419错误,就像未设置令牌一样。重新加载页面后,一切恢复正常。这是在本地服务器上。
我该如何解决?通话前是否可以通过某种方式“更新”令牌?$.ajaxSetup每次通话前我都需要做一点吗?仅在页面加载一次就做还不够吗?
我已经下载了 kepler.gl 的源代码,https://github.com/uber/kepler.gl并使用存储在 geojson 中的数据集成功创建了本地地图:
现在我的问题是,如何将此地图嵌入到我网站的 HTML 页面中?
我有数据的 JSON,我有源代码,但文档似乎没有告诉我如何将它嵌入到网页中。文档侧重于使用此界面构建地图和导出数据,但据我所知,没有提供有关在网页中嵌入地图的信息:
https://github.com/uber/kepler.gl/tree/master/docs
Run Code Online (Sandbox Code Playgroud) 我接手了一个 Laravel 5.5 的项目,发生了一件我从来没有遇到过的事情——报错画面的内容全部换成了星星。
我不知道以前的开发人员为实现这一目标做了什么,但显然我希望能够看到这些信息。.env 内容似乎相当明显:
APP_ENV=local
APP_HOST=http://localhost
APP_DEBUG=true
APP_TESTMODE=false
APP_CACHE_ENABLED=true
Run Code Online (Sandbox Code Playgroud)
除此之外,还有用于 Stripe、AWS 等的 API 密钥,但不会阻止我查看错误屏幕上的信息。
为什么会出现这个问题,我该如何解决?
javascript ×3
php ×3
laravel ×2
ajax ×1
composer-php ×1
css ×1
deck.gl ×1
https ×1
jquery ×1
kepler.gl ×1
mapbox-gl-js ×1
mysql ×1
node.js ×1
session ×1
vue.js ×1