Javascript / JQuery AJAX는 AJAX 응답을 구문 분석 할 수 없습니다.

세바스티앙

나는 이것에 대한 포스트 톤이 있다는 것을 알고 있지만 나는 그들을 찾을 수없는 것 같다. 내가 어리석은 곳은 다음과 같습니다.

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--

위의 코드를 참조하여 일부 코드를 변경했습니다. / -이 방식으로 강조 표시됨- /

Rajkumar Madhuram
  1. 응답이 유효한 JSON이 아닙니다 (사양 : http://json.org/ ). 배열을 보내지 만 각 요소는 유효한 개체가 아닙니다. 다음과 같아야합니다.

    [{ "sebastien20140804130001": 45}, { "sebastien20140804130002": 30}]

  2. 응답을 받으면 JSON.parse(response)JSON 객체로 변환하거나 dataType: 'json'jQuery가 자동으로 수행하도록 구성을 사용해야합니다 .

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

jquery 변수에 ajax 문자열을 구문 분석하고 반환 할 수 없습니다.

분류에서Dev

jquery는 ajax 응답을 경고 할 수 없습니다.

분류에서Dev

JAXB로 응답을 구문 분석 할 수 없습니다.

분류에서Dev

JSON REST API 응답을 구문 분석 할 수 없습니다.

분류에서Dev

JSON 응답을 구문 분석 할 수 없습니다.

분류에서Dev

ajax에서 단일 게시물 값을 구문 분석 할 수 없습니다.

분류에서Dev

잡히지 않은 TypeError : jQuery ajax 호출에서 JSONP 응답을 구문 분석 할 때 number가 함수가 아닙니다.

분류에서Dev

AWS API Gateway에 대한 Ajax 요청이 json 응답을 구문 분석 할 수 없음

분류에서Dev

JQuery가 JSP EL을 구문 분석 할 수 없습니다.

분류에서Dev

JavaScript는 Number로 구문 분석 할 수 없습니다.

분류에서Dev

JSON을 Javascript 개체로 구문 분석 할 수 없습니다.

분류에서Dev

Javascript에서 AJAX 배열의 특정 부분을 어떻게 구문 분석 할 수 있습니까?

분류에서Dev

Rubymine 2019.3에서 RuboCop 응답을 구문 분석 할 수 없습니다.

분류에서Dev

Jmeter에서 json 응답을 구문 분석 할 수 없습니다.

분류에서Dev

Android에서 복잡한 JSON 응답을 구문 분석 할 수 없습니다.

분류에서Dev

응답 xml을 제대로 구문 분석 할 수 없습니다.

분류에서Dev

RestTemplate에서받은 JSON 응답을 구문 분석 할 수 없습니다.

분류에서Dev

RestTemplate으로 REST 응답을 구문 분석 할 수 없습니다.

분류에서Dev

ember에서 API 응답을 구문 분석 할 수 없습니다.

분류에서Dev

jQuery ajax로 ASP 응답을 구문 분석하는 방법은 무엇입니까?

분류에서Dev

jQuery ajax로 ASP 응답을 구문 분석하는 방법은 무엇입니까?

분류에서Dev

Moshi는 nullable을 구문 분석 할 수 없습니다.

분류에서Dev

중첩 요소가있는 json 문자열을 jquery로 구문 분석 할 수 없습니다.

분류에서Dev

서버의 응답을 구문 분석 할 수 없음-Geocoder

분류에서Dev

AJAX jQuery에서 JSON 문자열 응답을 가져 오는 동안 " 'in'연산자를 사용할 수 없습니다 .."

분류에서Dev

json 응답을 구문 분석 할 수 없습니다. 실제로 비어 있지는 않지만 정의되지 않은 것을 반환합니다.

분류에서Dev

Groovy는 문자열을 날짜로 구문 분석 할 수 없습니다.

분류에서Dev

Python을 사용하여 boto3 클라이언트 json 응답을 구문 분석 할 수 없습니다.

분류에서Dev

jQuery UI로 날짜를 구문 분석 할 수 없습니다.

Related 관련 기사

  1. 1

    jquery 변수에 ajax 문자열을 구문 분석하고 반환 할 수 없습니다.

  2. 2

    jquery는 ajax 응답을 경고 할 수 없습니다.

  3. 3

    JAXB로 응답을 구문 분석 할 수 없습니다.

  4. 4

    JSON REST API 응답을 구문 분석 할 수 없습니다.

  5. 5

    JSON 응답을 구문 분석 할 수 없습니다.

  6. 6

    ajax에서 단일 게시물 값을 구문 분석 할 수 없습니다.

  7. 7

    잡히지 않은 TypeError : jQuery ajax 호출에서 JSONP 응답을 구문 분석 할 때 number가 함수가 아닙니다.

  8. 8

    AWS API Gateway에 대한 Ajax 요청이 json 응답을 구문 분석 할 수 없음

  9. 9

    JQuery가 JSP EL을 구문 분석 할 수 없습니다.

  10. 10

    JavaScript는 Number로 구문 분석 할 수 없습니다.

  11. 11

    JSON을 Javascript 개체로 구문 분석 할 수 없습니다.

  12. 12

    Javascript에서 AJAX 배열의 특정 부분을 어떻게 구문 분석 할 수 있습니까?

  13. 13

    Rubymine 2019.3에서 RuboCop 응답을 구문 분석 할 수 없습니다.

  14. 14

    Jmeter에서 json 응답을 구문 분석 할 수 없습니다.

  15. 15

    Android에서 복잡한 JSON 응답을 구문 분석 할 수 없습니다.

  16. 16

    응답 xml을 제대로 구문 분석 할 수 없습니다.

  17. 17

    RestTemplate에서받은 JSON 응답을 구문 분석 할 수 없습니다.

  18. 18

    RestTemplate으로 REST 응답을 구문 분석 할 수 없습니다.

  19. 19

    ember에서 API 응답을 구문 분석 할 수 없습니다.

  20. 20

    jQuery ajax로 ASP 응답을 구문 분석하는 방법은 무엇입니까?

  21. 21

    jQuery ajax로 ASP 응답을 구문 분석하는 방법은 무엇입니까?

  22. 22

    Moshi는 nullable을 구문 분석 할 수 없습니다.

  23. 23

    중첩 요소가있는 json 문자열을 jquery로 구문 분석 할 수 없습니다.

  24. 24

    서버의 응답을 구문 분석 할 수 없음-Geocoder

  25. 25

    AJAX jQuery에서 JSON 문자열 응답을 가져 오는 동안 " 'in'연산자를 사용할 수 없습니다 .."

  26. 26

    json 응답을 구문 분석 할 수 없습니다. 실제로 비어 있지는 않지만 정의되지 않은 것을 반환합니다.

  27. 27

    Groovy는 문자열을 날짜로 구문 분석 할 수 없습니다.

  28. 28

    Python을 사용하여 boto3 클라이언트 json 응답을 구문 분석 할 수 없습니다.

  29. 29

    jQuery UI로 날짜를 구문 분석 할 수 없습니다.

뜨겁다태그

보관