我会尽量让这个问题变得简单.我想通过使用JQuery的AJAX提交来上传带有其他表单数据的文件(但也要使它与ie 7或ie 8兼容,并且异步)
如果没有通过JQuery提交AJAX,则该过程正常.即我做了以下事情:
@RequestMapping(value ="/ processfileupload",method = RequestMethod.POST)public @ResponseBody String handleFileUpload(UploadForm data,BindingResult result)throws Exception {
....
Run Code Online (Sandbox Code Playgroud)
}
UploadForm是我绑定到表单的Spring MVC表单对象.另外,我在Spring的表单标签中绑定了formObject,如下所示:enctype ="multipart/form-data"..等等.
就像我说的,如果它不是通过JQuery通过Ajax调用完成的,那么效果很好.一旦我尝试将其作为Ajax调用,该文件始终为null.
这是通过JQuery的Ajax调用
function submitFileUploadViaAjax(){
$.ajax({
url: "processfileupload",
data: $("#file_upload_form").serialize(),
type: "POST",
processData: false,
contentType: false,
success: function(data) {
$(response).html(data);
},
error: function (xhr, ajaxOptions, thrownError) {
if (xhr.readyState == 0 || xhr.status == 0) {
// not really an error
return;
} else {
alert("XHR Status = "+xhr.status);
alert("Thrown Error = "+thrownError);
alert("AjaxOptions = "+ajaxOptions) …Run Code Online (Sandbox Code Playgroud) 所以我基本上是在动态添加一些元素到DOM.我可以对它们使用像.addClass方法存在之前,类与元素一起添加到DOM,但是当我使用.数据()方法来添加数据属性,则数据不被追加到DOM与元素.我在这里遗漏了什么或者我是否真的要等到DOM中的元素存在才能向其中添加数据?
PS.使用jquery 1.9.1
JS
var widget = $("<div>");
widget.addClass("banana");
widget.data('color', 'brown');
widget.appendTo('#container');
Run Code Online (Sandbox Code Playgroud)
HTML
<div id="container">
</div>
Run Code Online (Sandbox Code Playgroud)
还有一些不错的CSS,所以你知道在哪里点击检查,看到数据属性不是(或希望是)添加.
我的预期结果是
<div id="container">
<div class="banana" data-color="brown"></div>
</div>
Run Code Online (Sandbox Code Playgroud)
干杯.
我有一个对象被抛入会话数组,我想在items属性上运行foreach.
我似乎无法访问它.我看到它是私有的,但我不禁想知道为什么var_dump可以告诉我属性包含什么但我无法读取数据,因为它会抛出一个致命的错误?
我想我可以做一些输出缓冲并将var_dump评估为字符串,如果我真的不得不喜欢这个,但似乎应该有一个更好的方法.我有什么想法可以访问_items?
目标代码var_dumped来自var_dump($_SESSION['PHPurchaseCart']):
object(PHPurchaseCart)#191 (4) {
["_items:private"]=>
array(2) {
[0]=>
object(PHPurchaseCartItem)#190 (6) {
["_productId:private"]=>
string(2) "80"
["_quantity:private"]=>
int(1)
["_optionInfo:private"]=>
string(20) "Monthly Sponsorship "
["_priceDifference:private"]=>
string(3) ".01"
["_customFieldInfo:private"]=>
NULL
["_formEntryIds:private"]=>
array(0) {
}
}
[1]=>
object(PHPurchaseCartItem)#189 (6) {
["_productId:private"]=>
string(2) "75"
["_quantity:private"]=>
int(1)
["_optionInfo:private"]=>
string(20) "Monthly Sponsorship "
["_priceDifference:private"]=>
string(3) ".02"
["_customFieldInfo:private"]=>
NULL
["_formEntryIds:private"]=>
array(0) {
}
}
}
["_promotion:private"]=>
NULL
["_promoStatus:private"]=>
int(0)
["_shippingMethodId:private"]=>
NULL
}
Run Code Online (Sandbox Code Playgroud)
我试图访问它的方式:
$fun = $_SESSION['PHPurchaseCart'];
var_dump($fun->_items);
exit;
Run Code Online (Sandbox Code Playgroud)
以上引发致命错误.
我不确定这是否可能,但我正试图深入了解我在postgres 9.6.1中可以做的事情,这似乎也许是可能的.所以给这个表:
DROP TABLE IF EXISTS live_data;
CREATE TABLE live_data (
rec_id TEXT,
control_data JSONB
);
CREATE UNIQUE INDEX rec_id_idx ON live_data (rec_id);
Run Code Online (Sandbox Code Playgroud)
我希望能够在control_data json上插入各个道具而不必插入一个全新的json字符串.
在该表中没有行但我尝试了这个:
INSERT INTO live_data(rec_id, control_data) VALUES ('1', '{"set":{"some_prop": 99}}')
ON CONFLICT (rec_id) DO UPDATE SET control_data->'set'->'some_prop' = 99;
Run Code Online (Sandbox Code Playgroud)
FWIW我在该查询中收到此错误:
syntax error at or near "->"
Run Code Online (Sandbox Code Playgroud)
我写错了这个查询和/或我想做的只是目前不可能吗?
我越来越多地防止xss攻击,我正在做的一种方法是找到并修复漏洞.我注意到我在很多我记录的攻击中都看到了文件.
我似乎无法找到很多这方面的文档,所以我想知道它做了什么或它是什么?
我正在尝试弄清楚如何构建这个查询,但遇到了一些困难。
基本上,我试图获取一行中最常用的 id 的计数,其中 id 代表另一个表中的对象,但 id 可以出现在 2 列中。
当我只是钻一列时,这个查询工作得很好:
SELECT rb_1,
Count(*) AS num
FROM ci_lineups
GROUP BY rb_1
ORDER BY Count(*) DESC
LIMIT 10
Run Code Online (Sandbox Code Playgroud)
但现在我想做类似的事情,除了检查一个名为rb_2as well 的列,该列可以包含所有 id 的列rb_1。
当我尝试按 2 列进行分组时,它仅将组视为两列的组合。
如果我使用第一个查询两次(每列一次),我可以用 PHP 编写一个快速脚本来对计数进行组合和排序,但我认为可能有一种方法可以使用 MySQL 来实现此目的。
下面是简单/示例表.问题是关于如何为我需要的特定表格单元格添加链接.例如,当我单击表"第1行,单元格1"的第一个单元格时,它将执行链接并跳转到下一个站点.
<table border="1">
<tr>
<td>row 1, cell 1</td>
<td>row 1, cell 2</td>
</tr>
<tr>
<td>row 2, cell 1</td>
<td>row 2, cell 2</td>
</tr>
</table>
Run Code Online (Sandbox Code Playgroud)
感谢分享.
我有哈希的哈希,我正在尝试用每个哈希的值填充一个选择框.无论如何,我无法访问我的内部哈希变量.我能够在我的选择中生成正确数量的选项,但我目前只能设置每个选择选项的值参数.
继承我的哈希:
my $export_types = { a => {label => "Foo", ext => ".js"},
b => {label => "Bar", ext => ".gz"}};
Run Code Online (Sandbox Code Playgroud)
以下是我迄今为止尝试的内容:
my $select = "<select id='fancy'>";
foreach my $key (sort keys %{$export_types})
{
$select .= "<option value='$key' ";
if($saved_value eq $key || (!$saved_value && $key eq "a"))
{
$select .="selected='selected'";
}
$select .= ">".$export_types{$key}{label}."</option>";
}
$select .= "</select>";
Run Code Online (Sandbox Code Playgroud)
显然我正在访问标签属性错误.对于那条特定的线路,我也尝试过:
$select .= ">".$export_types{$key}->{label}."</option>";
Run Code Online (Sandbox Code Playgroud)
但那也无济于事.我确定我错过了一些简单的事情.
谢谢您的帮助 :)
我尝试使用JQuery UI可排序列表基于Bootstrap构建页面.我在全局空间中有一个列表,在Tabs中有两个列表,我喜欢从外部列表中拖动项目并将其拖放到选项卡导航以添加到列表中
但是,当我切换到引导程序选项卡导航时,外部项目上的删除消失但没有出现在选项卡列表中这是我的示例基于JQ UI"连接列表与选项卡"
$(function() {
$( "#sortable0, #sortable1, #sortable2" ).sortable().disableSelection();
var $tabs = $( "#tabs" );//.tabs();
$('#myTab a:last').tab('show');
var $tab_items = $( "ul:first li", $tabs ).droppable({
accept: ".connectedSortable li",
hoverClass: "ui-state-hover",
drop: function( event, ui ) {
var $item = $( this );
var $list = $( $item.find( "a" ).attr( "href" ) )
.find( ".connectedSortable" );
ui.draggable.hide( "slow", function() {
$tabs.tabs( "option", "active", $tab_items.index( $item ) );
$( this ).appendTo( $list ).show( "slow" );
});
}
}); …Run Code Online (Sandbox Code Playgroud) tabs jquery-ui jquery-ui-sortable jquery-ui-droppable twitter-bootstrap
我正在运行基于向类别添加删除字段的动态查询.这是一个示例查询:
ALTER TABLE se_classifiedvalues
ADD classifiedvalue_402 varchar(250) NOT NULL default ''
Run Code Online (Sandbox Code Playgroud)
MYSQL不抱怨语法,但在我转储查询时返回false.当我将该查询抛入phpMyAdmin并尝试执行sql时,它抛出了这个:
#1118 - Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. You have to change some columns to TEXT or BLOBs
Run Code Online (Sandbox Code Playgroud)
任何人都知道我能做些什么来解决这个问题?
谢谢