Hi Webters of Web Programming, 在这里,我带来了另一个愚蠢的问题,希望有人能回答我。我不是很擅长AJAX编程,但由于某些情况,我必须建立一个完全不可刷新的网站。 接下来的问题是如何使这个表单发送请求并返回结果,而不重新加载当前页面?
<?PHP
function mobio_checkcode($servID, $code, $debug=0) {
$res_lines = file("http://www.mobio.bg/code/checkcode.php?servID=$servID&code=$code");
$ret = 0;
if($res_lines) {
if(strstr("PAYBG=OK", $res_lines[0])) {
$ret = 1;
}else{
if($debug)
echo $line."\n";
}
}else{
if($debug)
echo "Unable to connect to mobio.bg server.\n";
$ret = 0;
}
return $ret;
}
$servID = 29;
$code = $_REQUEST["code"];
$ok = $_REQUEST["ok"];
if($ok) {
if(mobio_checkcode($servID, $code, 0) == 1) {
echo "The SMS code is correct!";
}else{
echo "Wrong SMS code.";
}
}else{
?>
<form method="post" name="smscode">
SMS code: <input type="text" size="20" name="code"/>
<input type="submit" name="ok" value=" Submit "/>
</form>
<?PHP } ?>
此表单发送验证短信代码的请求。这是该服务的提供者给我的。但它是简单的PHP文件。我将它包含在我的不可刷新网站中,但当我按下SUBMIT按钮时,它会刷新整个当前页面,然后显示预定义的回声。
答案 0 :(得分:1)
而不是提交使用简单按钮并将ajax事件绑定到它。这是一个粗略的例子。
$(document).ready(function(){
$("#btnId").click(function(){
$.ajax({
type: "GET",
url: "test.js",
dataType: "script"
});
});
});
答案 1 :(得分:0)
当我开始做一些ajaxing时,这对我帮助很大:
http://net.tutsplus.com/tutorials/javascript-ajax/5-ways-to-make-ajax-calls-with-jquery/
答案 2 :(得分:0)
听起来你需要jquery form plugin。
它会让你了解你所描述的行为。
$(document).ready(function() {
var options = {
// other options left out
success: showResponse // post-submit callback
};
$('#myForm1').ajaxForm(options);
});
// post-submit callback
function showResponse(responseText, statusText) {
alert('response: ' + responseText);
}
答案 3 :(得分:0)
在我的情况下,所有解决方案都不起作用。要么他们没有POST到服务器,要么我不能让他们显示服务器的回复,你可能会看到它在同一个文件中
if($ok) {
if(mobio_checkcode($servID, $code, 0) == 1) {
echo "The SMS code is correct!";
}else{
echo "Wrong SMS code.";
}
所以在这种情况下,任何人都可以告诉我如何重新加载包含此文件的div,在SUBMIT按钮上单击? 或欢迎任何其他解决方案...