2
我遇到的第一個問題是,我需要將數組數據與字符串數據一起發送到一個ajax文章中。我能夠用這個來解決這個問題:
data: {name_dependents:name_dependent_array, age_dependents:age_dependent_array, dob_dependents:dob_dependent_array, dataString:dataString},
但後來我救不了我有數據,通過簡單的$_POST
dataString。
現在我試圖將我的字符串發佈數據轉換爲數組,因此我可以有統一的數據(因爲前3個數據是數組,最後一個是字符串)。
但是當我做什麼,我總是得到這個錯誤(鏈接:my_home_url/POST):
404: Page not found
This error is generated when there was no web page with the name you specified at the web site.
Troubleshooting suggestions:
Ensure the page you are linking to exists in the correct folder.
檢查文件名大小寫。 Index.htm與index.htm不一樣!
如果它存在,通過重命名.htaccess文件臨時禁用任何重寫規則。
這裏的阿賈克斯傳遞的數據:
function submitClick() {
var firstname = $("#firstname").val();
var lastname = $("#lastname").val();
var username = $("#username").val();
var mobile_no = $("#mobile_number").val();
var password = $("#password").val();
var birth_month = $("#month").val();
var birth_day = $("#day").val();
var birth_year = $("#year").val();
var email = $("#email").val();
var sec_question_uuid = $("#security_question").val();
var sec_answer = $("#security_answer").val();
var civil_status = $("#status_civil").val();
var gender = $("#gender").val();
// var a = {
// firstname : firstname,
// lastname : lastname,
// username : username,
// mobile_no : mobile_no,
// password : password,
// birth_month : birth_month,
// birth_day : birth_day,
// birth_year : birth_year,
// email : email,
// sec_question_uuid: sec_question_uuid,
// sec_answer : sec_answer,
// civil_status : civil_status,
// gender : gender,
// command : command
// };
// alert(a); return false;
var dataString = 'firstname='+ firstname + '&lastname='+ lastname +'&username='+ username + '&mobile_number=' + mobile_no + '&password=' + password + '&birth_month=' + birth_month + '&birth_day=' + birth_day + '&birth_year=' + birth_year + '&email='+ email + '&sec_question_uuid=' + sec_question_uuid + '&sec_answer=' + sec_answer + '&civil_status=' + civil_status + '&gender='+ gender + '&command=signup';
var name_dependent_array = $('input[name="name_dependent[]"]').map(function(){return $(this).val();}).get();
var age_dependent_array = $('input[name="age_dependent[]"]').map(function(){return $(this).val();}).get();
var dob_dependent_array = $('input[name="dob_dependent[]"]').map(function(){return $(this).val();}).get();
if(firstname == ''|| lastname == '' || email == '' || gender == '' ||password == ''){
alert("Please Fill All Fields"); return false;
} else {
$.ajax({
type: 'POST',
url: 'functions.php',
data: {name_dependents:name_dependent_array, age_dependents:age_dependent_array, dob_dependents:dob_dependent_array, dataString:dataString},
success: function() {
$("#message").html('<div class="alert alert-success alert-dismissible" role="alert"><button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button>Your data has been successfully saved. You can now log on to the site by clicking the Login tab.</div>');
// $('[name="firstname"]').val('');
// $('[name="lastname"]').val('');
// $('[name="email"]').val('');
// $('[name="password"]').val('');
// $('[name="verify"]').val('');
window.setTimeout(function() {
$(".alert").fadeTo(1500, 0).slideUp(500, function(){
$(this).remove();
});
}, 5000);
}
});
return false;
}
}
通知行註釋掉,這讓他們有統一的我轉換到陣列中的數據,但它不工作,所以我又回到了以前的數據我製作:
var dataString = 'firstname='+ firstname + '&lastname='+ lastname +'&username='+ username + '&mobile_number=' + mobile_no + '&password=' + password + '&birth_month=' + birth_month + '&birth_day=' + birth_day + '&birth_year=' + birth_year + '&email='+ email + '&sec_question_uuid=' + sec_question_uuid + '&sec_answer=' + sec_answer + '&civil_status=' + civil_status + '&gender='+ gender + '&command=signup';
這是數據,當我做print_r($_POST)
:
Array (
[name_dependents] =>
Array (
[0] => asd
[1] => hfg
)
[age_dependents] =>
Array (
[0] => 6
[1] => 6
)
[dob_dependents] =>
Array (
[0] => 2010-07-25
[1] => 2010-07-02
)
[dataString] => firstname=a&lastname=a&username=a&mobile_number=09176229999&password=a&birth_month=01&birth_day=1&birth_year=1937&[email protected]&sec_question_uuid=1a78e916f8a2affa1d1de00be7e41f91&sec_answer=a&civil_status=32899cec496b4b25c43c8c4444f24403-married&gender=male&command=signup
)
如何修正dataString
,所以我可以保存在MySQL類似這樣的數據:
$firstname = $_POST['firstname'];
$lastname = $_POST['lastname'];
$username = $_POST['username'];
$mobile_number = $_POST['mobile_number'];
$password = $_POST['password'];
$birth_month = $_POST['birth_month'];
$birth_day = $_POST['birth_day'];
$birth_year = $_POST['birth_year'];
$email = $_POST['email'];
$sec_question_uuid = $_POST['sec_question_uuid'];
$sec_answer = $_POST['sec_answer'];
$civil_status = explode("-", $_POST['civil_status']);
$civil_status_uuid = $civil_status[1];
$gender = $_POST['gender'];
'404:Page not found' ??? –
當我替換爲: 'var dataString ='firstname ='+ firstname +'&lastname ='+ lastname +'&username ='+ username +'&mobile_number ='+ mobile_no +'&password ='+ password +'&birth_month =' + birth_month +'&birth_day ='+ birth_day +'&birth_year ='+ birth_year +'&email ='+ email +'&sec_question_uuid ='+ sec_question_uuid +'&sec_answer ='+ sec_answer +'&civil_status ='+ civil_status +'&gender ='+性別+'&command =註冊';' 與此: 'var a = {data:some_variable_with _data}' 錯誤顯示。 –
後只是'數據'足以將數據綁定到後端 –