我们试图通过AJAX发布一个数据字符串,它的外观如何
// if CAPTCHA is correctly entered!
if ($resp->is_valid) { echo $tmpName; ?>
<script type="text/javascript">
$(document).ready(function(){
alert("in ready");
var name = "<?php echo $_POST['name']; ?>";
var email = "<?php echo $_POST['email']; ?>";
var state = "<?php echo $_POST['state']; ?>";
var contact = "<?php echo $_POST['phone']; ?>";
var message = "<?php echo strtr($_POST['message'], array("\r\n" => '<br />', "\r" => '<br />', "\n" => '<br />')); ?>";
// Returns successful data submission message when the entered information is stored in database.
var dataString = 'name1='+ name + '&email1='+ email + '&state1='+ state + '&contact1='+ contact + '&message1='+ message +'&tmpName1='+ "<?php echo $tmpName ?>" +'&fileType1='+ "<?php echo $fileType ?>" +'&fileName1='+ "<?php echo $fileName ?>";
alert(dataString);
if(name==''||email==''||contact=='')
{
alert("Please Fill All Fields");
}
else
{
// AJAX Code To Submit Form.
$.ajax({
type: "POST",
url: "mailer.php",
data: dataString,
cache: false,
success: function(result){
alert(result);
}
});
}
return false;
});
当我们试图获取tmpName1的值但我们无法得到它但是像name1一样休息时我们可以获得该值。任何人都可以就此问题提出建议吗?
谢谢!
答案 0 :(得分:1)
您可以使用不同的方法来命名值。
var dvals = {};
dvals = {
name1: name,
email1: email,
...
};
就我个人而言,我不是这样做的,我不是百分之百确定原因,但我确实知道我在我的代码中使用。
var dvals = {};
dvals['name1'] = name;
dvals['email1'] = email
...
您可以使用它来确定每个名称,然后用dvals替换AJAX代码中的dataString
。我不确定为什么你的dataString
会不正确,但我确实知道我因为随机问题而停止使用它,这让我觉得它不可靠。这就是我转而使用上述方法的原因。
答案 1 :(得分:0)
你需要在发布它时得到它 - 这意味着如果你这样写:
dataString = {name_1:name, course_1:course},
然后您必须使用您提供的名称检索它:name_1
和course_1
,否则它将无效。
答案 2 :(得分:0)
这是正确的方法:
var dataString = 'name1='+ name + '&email1='+ email + '&state1='+ state + '&contact1='+ contact + '&message1='+ message +'&tmpName1=<?php echo $tmpName ?>&fileType1= <?php echo $fileType ?>&fileName1=<?php echo $fileName ?>';
但这种方式更好:
var tmpName = '<?php echo $tmpName ?>'||'',
fileType = '<?php echo $fileType ?>'||'',
fileName = '<?php echo $fileName ?>'||'';
var params = {
name1:name,
email1:email,
state1:state,
contact1:contact,
message1:message,
tmpName1:tmpName,
fileType1:fileType,
fileName1:fileName
}
alert(params);
if(name==''||email==''||contact=='')
{
alert("Please Fill All Fields");
}
else
{
// AJAX Code To Submit Form.
$.ajax({
type: "POST",
url: "mailer.php",
data: params,
cache: false,
success: function(result){
alert(result);
}
});
}
return false;