我用变量创建一个数组:
$( newDiv ).dialog({
title: data.artikel,
height: 520,
width: 700,
modal: true,
buttons: {
"Abbrechen": function() {
$( this ).dialog( "close" );
},
"Hinzufügen": function() {
var data = [];
data['objektnummer'] = $( "#dialogArticle" ).data( "objektnummer" );
data['artikelnummer'] = $( "#dialogArticle" ).data( "artikelnummer" );
data['kind'] = $( "#dialogArticle" ).data( "kind" );
data['preis_pro_einheit'] = $( '#preis' ).autoNumeric( 'get' );
for( i = 1; i < $( ".inputParameter" ).length + 1; i++ )
{
if( $( '#p' + i + '_einheit' ).length > 0 )
{
data['p' + i + '_einheit'] = $( '#p' + i + '_einheit' ).autoNumeric( 'get' ) ;
}
}
data['zusatztext'] = $( '#articleZusatztext' ).val();
data['position'] = 1;
if( addOrSaveArticle( data ) ) $( this).dialog( "close" );
}
},
close: function(ev, ui) {
$( this ).dialog( "destroy").remove();
},
show: { effect: "fade", duration: 250 }
});
在以下功能中我有ajax:
function addOrSaveArticle( data )
{
var url = $( '#artikellist').data( "url-singlearticle" )
console.log( data );
$.ajax({
type: "POST",
url: url,
data: data,
dataType: "json"
})
.done(function(resp){
console.log( "Success" );
})
.error(function(){
console.log( "no connection" );
});
return true;
}
控制台日志带来以下输出:
[objektnummer:1480445,artikelnummer:“893”,kind:“new”,preis_pro_einheit:“2.32”,p1_einheit:“15”...]
在我的ajax-Controller中,我想读出变量:
public function editSingleArticle( $userId )
{
$request = Request::createFromGlobals();
$objektnummer = $request->request->get( 'objektnummer' );
$artikelnummer = $request->request->get( 'artikelnummer' );
$subunternehmernummer = 305956;
$preis_pro_einheit = $request->request->get( 'preis_pro_einheit' );
$p1_einheit = $request->request->get( 'p1_einheit' );
$p2_einheit = $request->request->get( 'p2_einheit' );
$p3_einheit = $request->request->get( 'p3_einheit' );
$zusatztext = $request->request->get( 'zusatztext' );
$position = $request->request->get( 'position' );
$sql = "INSERT INTO
objekt_position
(
id_objekt, id_subunternehmer, artikelnummer,
preis_pro_einheit, p1_einheit, p2_einheit, p3_einheit, zusatztext, position
)
VALUES
(
". $objektnummer .",
". $subunternehmernummer .",
". $artikelnummer .",
". $preis_pro_einheit .",
". $p1_einheit .",
". $p2_einheit .",
". $p3_einheit .",
'". $zusatztext ."',
". $position ."
)
";
$em = $this->getDoctrine()->getManager();
$connection = $em->getConnection();
$statement = $connection->prepare($sql);
$statement->execute();
return array("erledigt"=>"yes);
}
当我添加$ .ajax时 - 调用数据如:
$.ajax({
...
data: {
objektnummer: data['objektnummer']
....
}
..
})
然后变量在ajax控制器中可用。
我对数据阵列做错了什么?
在获取数据后,防止再次进行SQL注入:)