AJAX를 조금만 사용해 본 결과 많은 데이터가 밑줄로 흩어져있는 것을 발견했습니다! 문서는 이것이 의도 한대로 작동하고 있음을 확인합니다. 내 양식 정보를 그대로 PHP로 전달하는 방법은 무엇입니까? 나는 CodeIgniter를 사용하고, 그래서 내 패스/컨트롤러/기능/변수처럼, 컨트롤러를 수신 같습니다외부 소스의 변수 이름에있는 점과 공백이 밑줄로 변환됩니다.
controller{
function($v=0){#what once was hello world is now hello_world...}
}
내가 아주 잘 실행 취소 할 수 없습니다, 데이터가 밑줄을 포함 할 수 있습니다.
감사합니다, 브랜든
편집 :
나는 그것이 값을 변환 생각합니다.
<form>
<text input name="tbox"/>
<submit/>
</form>
ajax_handler(
v = form.name() + form.val()
do_ajax('/controller/function/v')
)
controller(){
function($v=0){#spaces and periods in v are converted to underscore}
}
다시 한번 감사, 여기 브랜든
실제 코드입니다 : 컨트롤러의 기능에 전달되는 문자열의
<input type="text" id="tusername" name="tusername" class="checkable tbox"/>
<button id="unsubmit" name="wizard" class="formable">next</button>
$('.formable').live('click',function(event){
event.preventDefault();
var n = $(this).attr('id');
var a = $(this).attr('name');
var v = dosend();
$.ajax({
url: '/form/'+n+'/'+v,
type: 'post',
success: function(result){
alert(result);
}
});
function dosend(){
var inputs = $(":input");
var s = "";
inputs.each(function(){
s += $(this).attr('name')+":";
s += $(this).val()+";";
});
return s;
}
});
class Form extends Controller{
function Form(){
parent::Controller();
session_start();
}
function unsubmit($v=6){
print $v;
}
}
아무거나 여기에 코드의 요점이다 공백이나 마침표는 밑줄로 변환됩니다. 이 상자에 hello world를 입력하면 hello_world가 출력됩니다.
$w = explode(';',$v);
foreach($w as $i){
$x = explode(':',$i);
if(isset($x[1])){
$_AJAX[$x[0]] = $x[1];
}
}
왜 처음에는 변수 이름에 점이 있습니까? –
나는 값으로 만 ... 나는 의사가 왜 값이 아닌 변수 이름을 언급하고 있다는 것을 알았는데 왜 이것이 일어나고 있는지 궁금해하니? – Orbit