1
我使用post方法傳遞變量,但無法傳遞變量的完整值。AJAX中的POST方法
下面是腳本:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
var problem_code = $("#problem_code").val();
var code = $("#code").val();
var lang = $("#lang").val();
$.ajax({
type: "POST",
url: "ajax.php",
cache:false,
data : {problem_code:problem_code,code:code,lang:lang},
success: function(html)
{
//alert("ajax response returned.. ");
//console.log(html);
$(".show-result").empty();
$(".show-result").append('<br>' + html);
}
})
});
</script>
這裏是剩餘部分
<?php
$code=stripcslashes($_POST['code']);
$lang=stripcslashes($_POST['lang']);
?>
另一個文件 「Submit.php」
現在使用獲取$代碼和$ LANG值傳遞輸入隱藏字段
<input type="hidden" id="problem_code" name="problem_code" value=<?php echo $problem_code;?> >
<input type="hidden" id="code" name="code" value=<?php echo ($code);?> >
<input type="hidden" id="lang" name="lang" value=<?php echo $lang;?> >
但是,當使用隱藏字段傳遞$ code值時,它顯示出意想不到的行爲。
這裏是上述腳本
<input type="hidden" id="problem_code" name="problem_code" value=LUCPAL >
<input type="hidden" id="code" name="code" value=#include <iostream>
#include<stdio.h>
#include<math.h>
using namespace std;
int main() {
int t;
scanf("%d",&t);
while(t--)
{
long long int A,B,copy,sum=0;
scanf("%lld %lld",&A,&B);
copy=B;
int digit=0;
while(copy>0)
{
digit++;
copy=copy/10;
}
while(digit--)
{
sum=10*sum+9;
}
long long int sum2=sum/2,diffA,diffB;
if(sum2>=A && sum2<=B)
{
printf("%lld
",(sum2)*(sum2+1));
}
else
{
diffA=fabs(sum2-A);
diffB=fabs(sum2-B);
if(diffA<diffB)
printf("%lld
",A*(sum-A));
else
printf("%lld
",B*(sum-B));
}
}
// your code goes here
return 0;
}
>
<input type="hidden" id="lang" name="lang" value=11 >
`
printf("%lld\n",A*(sum-A) become printf("%lld
",A*(sum-A));
和只有「的#include」運行的同時查看源代碼示例中ajax.php從所有碼通過。
你知不知道,你應該使用