나는이 콜백을 가지고PHP 최우선 AJAX POST 요청
$('#tagList').tagit({
//Every new dag will be pushed in the list array
tagsChanged: function(tagValue,action,element){
list.push(tagValue);
$.ajax({
url: "dostuff.php",
type: "POST",
data:{ items:list.join("::")},
success: function(data){
$('#wrap').append(data);
}
});
}
});
그 때마다 내가 태그 새로 추가 된 태그가 배열에 밀려되며, 그 후에는 만들 것를 추가로 무엇을 AJAX 게시물 요청.
그리고 난 여기이 필드
<form method = "POST" action = "demo3.php">
News Title <input id = "news_title" type = "text" name = "news_title" /><br>
<label>Insert Some tags </label>
<ul id="tagList" data-name="demo2">
</ul>
<input type = "submit" name = "submit" id = "submit" value = "Post News" />
</div>
</form>
을 가지고 있고 클릭 할 때 (이것은 AJAX 요청마다 새 태그에서 만든 (그것은 기본적 페이지를 다시로드)를 $ _POST [ '항목'] 제출 추가됨)이 POST 전역 배열에서 지워지거나 제거됩니다. 따라서 $ _POST 전역 배열을 비워 두십시오.
어쨌든 나는이 두 가지를 병합 할 수 있습니까? 또는 어쨌든 PHP 재정의하자 또는 내 쿼리에 대한 항목을 필요로 할 것이기 때문에?를 $_POST['items']
를 제거하지
tagit라는 플러그인을 사용하고 또한
<!doctype html>
<html>
<head>
<script src="demo/js/jquery.1.7.2.min.js"></script>
<script src="demo/js/jquery-ui.1.8.20.min.js"></script>
<script src="js/tagit.js"></script>
<link rel="stylesheet" type="text/css" href="css/tagit-stylish-yellow.css">
<script>
$(document).ready(function() {
var list = new Array();
$('#tagList').tagit({
//Every new dag will be pushed in the list array
tagsChanged: function(tagValue,action,element){
list.push(tagValue);
$.ajax({
url: "dostuff.php",
type: "POST",
data:{ items:list.join("::")},
success: function(data){
$('#wrap').append(data);
}
});
}
});
});
</script>
</head>
<body>
<div id="wrap">
<div class="box">
<button class = "viewTags">View Tags</button>
<form method = "POST" action = "demo3.php">
News Title <input id = "news_title" type = "text" name = "news_title" /><br>
<label>Insert Some tags </label>
<ul id="tagList" data-name="demo2">
</ul>
<input type = "submit" name = "submit" id = "submit" value = "Post News" />
</div>
</form>
</div>
</body>
</html>
및 여기 dostuff. PHP
<?php
$lis = $_POST['items'];
$liarray = explode("::", $lis);
print_r($liarray);
print_r($_POST);
?>
PHP는 $ _POST를 "오버라이드"하지 않습니다. $ _POST에 들어간 것은 PHP가받은 것입니다. $ _POST가 비어 있으면 아무것도 보내지 않았거나 형식이 잘못되었습니다. –
오우 알겠습니다. 어떻게 내가 아약스와 PHP에 의해받은 POST에 의해 만들어진 POST 요청을 병합하겠습니까? 왜냐하면 나는 둘 다를 필요로 할 것이기 때문이다. – user962206
그건 말이되지 않습니다. 당신은 "내가 할머니에게서받은 선물을 내 할머니와 어떻게 병합 할까?"하고 묻고있다. 당신의 코드가 묶여 있지 않다면, JS 코드에 의해 시작된 하나의 단일 HTTP 요청이있을 것이고, 서버 측 PHP 스크립트에 하나의 단일 게시물을 수행 할 것이다. –