나는 이것에 대한 포스트 톤이 있다는 것을 알고 있지만 나는 그들을 찾을 수없는 것 같다. 내가 어리석은 곳은 다음과 같습니다.
ID와 정수에 대한 AJAX 요청이 있습니다 (나중에 DOM에 여백이 적용됩니다)
요청은 다음과 같습니다.
$(function(){
$("#divAccordion").accordion({
//Accordion options here, not relevant
}).sortable({
//Other sortable options here, not relevant
//This is the important part:
update:
function(event, ui){
var data = $(this).sortable('toArray');
$.ajax({
url:"prc.php",
type:"POST",
dataType:'JSON',/*--Added this also--*/
data:{sort:data},
contentType : "application/x-www-form-urlencoded;charset=UTF-8"
}).done(
function(margin){
console.log(margin);//This log [sebastien20140804130001:45, sebastien20140804130002:30]
for(key in margin){
console.log(key+"=>"+margin[key]);
}
}
);
}
});
});
콘솔에서 얻는 내용은 다음과 같습니다.
[sebastien20140804130001:45, sebastien20140804130002:30]
0=>[
1=>s
2=>e
3=>b
4=>a
...
문제가 보이십니까? 내 응답 (여백)은 문자열이고 for 루프는 각 문자를 통과합니다. 대신 다음과 같은 것을 기대했습니다.
[sebastien20140804130001:45, sebastien20140804130002:30]
sebastien20140804130001=>45
sebastien20140804130002=>30
참고로 '키 / 값'쌍을 많이 알 수 없습니다. ID가 서로 따라 오면 둘 다받을 수 없습니다 (숫자 순서) ([ID : MARGIN_TO_APPLY])
내가 목표로하는 것은 각 '키 / 값'쌍을 반복하고 다음과 같이 적용 할 수있는 것입니다.
$('#'+key).css('margin-left', value);
다른 정보가 필요하면 댓글로 문의 해주세요.
감사!
--편집하다--
다음은 서버 측 코드입니다.
echo '{';/*--was [--*/
sortRN('rn_GLOBAL', 0);
echo '}';/*was ]--*/
function sortRN($dep, $i)
{
if(isset($_POST['sort'][$i]) && $_POST['sort'][$i] != '')
{
$cnSort = new cConnexion('***', '***', '***', '***');
if($cnSort->DBConnexion())
{
$query = "UPDATE ***.reunion SET rn_DEP = :DEP WHERE REPLACE(REPLACE(REPLACE(CONCAT('rn_', rn_SAMAORG, rn_DTSTART), ' ', ''), ':', ''), '-', '') = :ID";
while(isset($_POST['sort'][$i]) && preg_match('#^.+[0-9]{4}$#', $_POST['sort'][$i]))
{
if($i > 0)
{
echo ',';/*--Added this so there wouldn't always be a coma at the end--*/
}
switch($dep)
{
case 'rn_GLOBAL':
$params = array('DEP'=>str_replace('rn_', '', $dep), 'ID'=>$_POST['sort'][$i]);
$rsSort = $cnSort->SecureExecute($query, $params);
if($rsSort)
{
echo '{"'.$_POST['sort'][$i].'":15}';/*--Changed every line like this to add {} and also removed the coma at the end--*/
}
break;
case 'rn_JRT':
$params = array('DEP'=>str_replace('rn_', '', $dep), 'ID'=>$_POST['sort'][$i]);
$rsSort = $cnSort->SecureExecute($query, $params);
if($rsSort)
{
echo '"'.$_POST['sort'][$i].'":30,';
}
break;
case 'rn_ACHAT':
$params = array('DEP'=>str_replace('rn_', '', $dep), 'ID'=>$_POST['sort'][$i]);
$rsSort = $cnSort->SecureExecute($query, $params);
if($rsSort)
{
echo '"'.$_POST['sort'][$i].'":45,';
}
break;
case 'rn_ADM':
$params = array('DEP'=>str_replace('rn_', '', $dep), 'ID'=>$_POST['sort'][$i]);
$rsSort = $cnSort->SecureExecute($query, $params);
if($rsSort)
{
echo '"'.$_POST['sort'][$i].'":45,';
}
break;
case 'rn_ASC':
$params = array('DEP'=>str_replace('rn_', '', $dep), 'ID'=>$_POST['sort'][$i]);
$rsSort = $cnSort->SecureExecute($query, $params);
if($rsSort)
{
echo '"'.$_POST['sort'][$i].'":45,';
}
break;
case 'rn_COMP':
$params = array('DEP'=>str_replace('rn_', '', $dep), 'ID'=>$_POST['sort'][$i]);
$rsSort = $cnSort->SecureExecute($query, $params);
if($rsSort)
{
echo '"'.$_POST['sort'][$i].'":45,';
}
break;
case 'rn_DIRECTION':
$params = array('DEP'=>str_replace('rn_', '', $dep), 'ID'=>$_POST['sort'][$i]);
$rsSort = $cnSort->SecureExecute($query, $params);
if($rsSort)
{
echo '"'.$_POST['sort'][$i].'":45,';
}
break;
case 'rn_INDUS':
$params = array('DEP'=>str_replace('rn_', '', $dep), 'ID'=>$_POST['sort'][$i]);
$rsSort = $cnSort->SecureExecute($query, $params);
if($rsSort)
{
echo '"'.$_POST['sort'][$i].'":45,';
}
break;
case 'rn_INFO':
$params = array('DEP'=>str_replace('rn_', '', $dep), 'ID'=>$_POST['sort'][$i]);
$rsSort = $cnSort->SecureExecute($query, $params);
if($rsSort)
{
echo '"'.$_POST['sort'][$i].'":45,';
}
break;
case 'rn_PROD':
$params = array('DEP'=>str_replace('rn_', '', $dep), 'ID'=>$_POST['sort'][$i]);
$rsSort = $cnSort->SecureExecute($query, $params);
if($rsSort)
{
echo '"'.$_POST['sort'][$i].'":45,';
}
break;
case 'rn_RED':
$params = array('DEP'=>str_replace('rn_', '', $dep), 'ID'=>$_POST['sort'][$i]);
$rsSort = $cnSort->SecureExecute($query, $params);
if($rsSort)
{
echo '"'.$_POST['sort'][$i].'":45,';
}
break;
case 'rn_STD':
$params = array('DEP'=>str_replace('rn_', '', $dep), 'ID'=>$_POST['sort'][$i]);
$rsSort = $cnSort->SecureExecute($query, $params);
if($rsSort)
{
echo '"'.$_POST['sort'][$i].'":45,';
}
break;
case 'rn_TEST':
$params = array('DEP'=>str_replace('rn_', '', $dep), 'ID'=>$_POST['sort'][$i]);
$rsSort = $cnSort->SecureExecute($query, $params);
if($rsSort)
{
echo '"'.$_POST['sort'][$i].'":45,';
}
break;
case 'rn_VENTE':
$params = array('DEP'=>str_replace('rn_', '', $dep), 'ID'=>$_POST['sort'][$i]);
$rsSort = $cnSort->SecureExecute($query, $params);
if($rsSort)
{
echo '"'.$_POST['sort'][$i].'":45,';
}
break;
case 'rn_CUSTOME':
$params = array('DEP'=>str_replace('rn_', '', $dep), 'ID'=>$_POST['sort'][$i]);
$rsSort = $cnSort->SecureExecute($query, $params);
if($rsSort)
{
echo '"'.$_POST['sort'][$i].'":45,';
}
break;
case 'rn_CRP':
$params = array('DEP'=>str_replace('rn_', '', $dep), 'ID'=>$_POST['sort'][$i]);
$rsSort = $cnSort->SecureExecute($query, $params);
if($rsSort)
{
echo '"'.$_POST['sort'][$i].'":30,';
}
break;
case 'rn_FAB':
$params = array('DEP'=>str_replace('rn_', '', $dep), 'ID'=>$_POST['sort'][$i]);
$rsSort = $cnSort->SecureExecute($query, $params);
if($rsSort)
{
echo '"'.$_POST['sort'][$i].'":45,';
}
break;
case 'rn_IC':
$params = array('DEP'=>str_replace('rn_', '', $dep), 'ID'=>$_POST['sort'][$i]);
$rsSort = $cnSort->SecureExecute($query, $params);
if($rsSort)
{
echo '"'.$_POST['sort'][$i].'":45,';
}
break;
case 'rn_MAG':
$params = array('DEP'=>str_replace('rn_', '', $dep), 'ID'=>$_POST['sort'][$i]);
$rsSort = $cnSort->SecureExecute($query, $params);
if($rsSort)
{
echo '"'.$_POST['sort'][$i].'":45,';
}
break;
case 'rn_PRD':
$params = array('DEP'=>str_replace('rn_', '', $dep), 'ID'=>$_POST['sort'][$i]);
$rsSort = $cnSort->SecureExecute($query, $params);
if($rsSort)
{
echo '"'.$_POST['sort'][$i].'":45,';
}
break;
case 'rn_SERV':
$params = array('DEP'=>str_replace('rn_', '', $dep), 'ID'=>$_POST['sort'][$i]);
$rsSort = $cnSort->SecureExecute($query, $params);
if($rsSort)
{
echo '"'.$_POST['sort'][$i].'":45,';
}
break;
case 'rn_VE':
$params = array('DEP'=>str_replace('rn_', '', $dep), 'ID'=>$_POST['sort'][$i]);
$rsSort = $cnSort->SecureExecute($query, $params);
if($rsSort)
{
echo '"'.$_POST['sort'][$i].'":45,';
}
break;
case 'rn_CAL':
$params = array('DEP'=>str_replace('rn_', '', $dep), 'ID'=>$_POST['sort'][$i]);
$rsSort = $cnSort->SecureExecute($query, $params);
if($rsSort)
{
echo '"'.$_POST['sort'][$i].'":30,';
}
break;
}
$i++;
}
$cnSort->DBDeconnexion();
if(isset($_POST['sort'][$i]) && $_POST['sort'][$i] != '')
{
$ii = $i + 1;
sortRN($_POST['sort'][$i], $ii);
}
}
else
{
echo $cnSort->m_log->getMessageFR();
}
}
}
사이드 노트 # 2 : PHP 스크립트는 JQuery 정렬 가능한 항목의 위치로 DB를 업데이트 한 다음 요소 ID와 테두리 값을 반영합니다.
-편집하다 2--
위의 코드를 참조하여 일부 코드를 변경했습니다. / -이 방식으로 강조 표시됨- /
응답이 유효한 JSON이 아닙니다 (사양 : http://json.org/ ). 배열을 보내지 만 각 요소는 유효한 개체가 아닙니다. 다음과 같아야합니다.
[{ "sebastien20140804130001": 45}, { "sebastien20140804130002": 30}]
응답을 받으면 JSON.parse(response)
JSON 객체로 변환하거나 dataType: 'json'
jQuery가 자동으로 수행하도록 구성을 사용해야합니다 .
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다