Fiddle和代码:
$("form.signupform").submit(function(e) {
var data = $(this).serialize();
var url = $(this).attr("action");
var form = $(this); // Add this line
$.post(url, data, function(data) {
try {
data = JSON.parse(data);
$(.result).html(data.result + " Watchlist");
} catch (e) {
console.log("json encoding failed");
return false;
}
});
return false;
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p class="result"></p>
<form class="signupform" method="post" action="admin/signupinsert.php" onsubmit="this.onsubmit=function(){return false;}">
<input type="text" name="firstname" />
<input type="submit" value="Sign Up"/>
</form>
&#13;
admin/signupinsert.php
代码:
// Insert into DB code in PHP
$response = new \stdClass();
$response->result = "".$result."";
die(json_encode($response));
我正在尝试使用My Jquery Ajax Code提交此表单。 signupinsert.php文件将返回$ result变量中的值。我正在尝试在<p class="result"></p>
但是,代码会将用户重定向到signupinsert.php页面。
出了什么问题?
答案 0 :(得分:3)
您必须阻止提交表单的默认操作
JSON
另外,在你的php文件中返回正确的JSON.parse(data);
并避免使用$response = new \stdClass();
$response->result = $result;
header('Content-Type: application/json');
print json_encode($response);
php文件中的输出应该如下所示
success
并在data
处理程序中将json
参数作为普通$.post(url, data, function(data) {
$(.result).html(data.result + " Watchlist");
}
对象处理
$response->result = "".$result."";
另外,只是好奇心,这应该做什么?
$('.result').html(data.result + " Watchlist");
^ ^
<强>更新强>
我刚才意识到为什么你有大部分问题:
android:text="@={loginVM.email}"
查看缺失的引号
答案 1 :(得分:0)
你因为行动而重定向:
action="admin/signupinsert.php"
var url = $(this).attr("action");
得到了我?