일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 전략
- Session
- Apache
- 경영
- Ajax
- Laravel
- date
- Forms
- post
- 웹하드추천
- JSON
- OOP
- Arrays
- variables
- Regex
- curl
- 무료다운로드쿠폰
- HTML
- string
- function
- JavaScript
- 웹하드순위
- php
- file-upload
- jquery
- Linux
- UTF-8
- MySQL
- composer-php
- Today
- Total
개발! 딱 깔끔하고 센스있게!
PHP 와 자 바스 크 립 트 로 JSON 과 JSON 을 디 코딩 합 니 다. 본문
jquery. ajax () 를 통 해 자 바스 크 립 트 대상 을 PHP 스 크 립 트 에 전달 하려 고 합 니 다.
기본적으로:
var bigArray = new Object(); //Dode //Start loop bigArray[x] = {name: exname, id: exID, order:e, set: setBox, inc: incBox, example: exampleBox, day: i};
그래서 기본적으로 하나의 배열 이다.
var anotherTest = $.toJSON(bigArray); var ajxFile = "routineajax.php"; $.ajax({ type: 'POST', processData: false, url: ajxFile, data: anotherTest, success: function(data) { $('#result').html(data); alert('Load was performed.'); } }); });
PHP 단 스 크 립 트
print_r($_POST); $params = json_decode($_POST); print_r($params)
Ajax 호출 이 진행 중 입 니 다.
Firebug 에서 볼 수 있 지만 print r ($ POST) 는 빈 배열 로 되 돌아 갑 니 다.
$u 로 변경 하면 $. ajax 함수 와 PHP 스 크 립 트 를 동시에 사용 할 수 있 습 니 다.
나의 주요 문 제 는 다음 과 같은 오 보 를 받 는 것 이다.
경고: json decode () 기대 인자 1 은 문자열, 배열 은
내 가 이 문 제 를 어떻게 해결 해 야 합 니까?
이 코드 세 션 을 PHP 파일 에 추가 하면
$data = file_get_contents('php://input'); var_dump($data); var_dump(json_decode($data));
나 는 이 수출 을 얻 었 다.
string'{"0"{"name":"Decline`Abs","id":"54","order":0,"set":"","inc":"","example":"","day":1}}' (length=87)` object(stdClass)[2] public '0' => object(stdClass)[4] public 'name' => string 'Decline Abs' (length=11) public 'id' => string '54' (length=2) public 'order' => int 0 public 'set' => string '' (length=0) public 'inc' => string '' (length=0) public 'example' => string '' (length=0) public 'day' => int 1
그래서 적어도 그것 을 통 해서, 나 는 그것 을 어떻게 방문 해 야 할 지 모 르 지만, 정확 한 방향 으로 의 절차!
대답 하 다.
문 제 는 보통 POST 데 이 터 는 key = value & key 2 = value 2 인 코딩 으로 보 내 는데 JSON 으로 보 내 는 것 입 니 다.
원본 post 데 이 터 를 다음 식 으로 접근 하려 고 합 니 다:
$data = file_get_contents('php://input'); var_dump($data); var_dump(json_decode($data));
효과 가 있 는 지 없 는 지 를 보다.
없 으 면 질문 에 답 을 붙 여 주세요. 있 으 면.
아래 의 논평 과 OP 에 대한 보충 을 바탕 으로 합 니 다.
$data copy 의 var 덤 프 가 정확 한 붙 여 넣 었 습 니까?내 가 이 문 제 를 묻 는 이 유 는 문자열 {、 0 、 {、 name 이 틀 렸 다 는 것 이다.
올 바른 JSON 이나 올 바른 인 코딩 의 POST 문자열 이 아 닙 니 다.
아마도 복사 와 붙 여 넣 을 때 몇몇 문자 들 을 인 코딩 했 을 것 입 니 다.
어쨌든 너 는 지금 네가 필요 로 하 는 결 과 를 얻 었 다.
stdClass 는 빈 용기 일 뿐 데 이 터 를 넣 을 수 있 습 니 다.
일반적인 대상 문법 으로 접근 할 수 있 습 니 다.
이 경우 $data - > {0} - > name 을 실행 해 야 합 니 다.
0 이 라 고 생각 합 니 다.
$data = json 디 코드 ($data, true) 를 실행 하면 관련 배열 입 니 다.
$data [0] [name] 으로 POST 'ed 데 이 터 를 방문 할 수 있 습 니 다.
이 문 제 를 계속 연구 하 시 려 면 ajax 요청 을 실행 하기 전에 window. console. dir (data) 결 과 를 보 여 주 는 것 이 도움 이 될 수 있 으 며, var dump (data) 에서 복사 및 붙 여 넣 을 페이지 의 원본 을 확인 하 십시오.dir (data) 는 Firebug 창 에 데이터 의 속성 을 표시 합 니 다.
(Firebug 을 사용 하고 계 시 죠?)Chrome 의 디 버 거 에서 도 작 동 할 수 있 고, 다른 디 버 거 도 가능 할 수 있 습 니 다.
내 가 말 한 것 처럼 당신 이 필요 로 하 는 것 을 이미 얻 은 것 같 으 니 조사 할 필요 가 없습니다.
'개발 스크랩 메모 > PHP' 카테고리의 다른 글
PHP 심 플 HTML DM - < td > 태그 에서 텍스트 가 져 오기 (0) | 2020.12.08 |
---|---|
PHP 에서 날짜 가 두 날짜 사이 에 있 는 지 여 부 를 결정 합 니까? (0) | 2020.12.08 |
PHP exif read data 를 사용 하여 사진 을 가 져 오 는 '촬영 날짜' 는 '수정 날짜' 가 아 닙 니 다. (0) | 2020.12.04 |
Php: "이전 성명" 이 없 는 상황 에서 "재 성명 류" 를 어떻게 해결 할 수 있 습 니까? (0) | 2020.12.04 |
PHP IMAP 교환 문제 (0) | 2020.12.04 |