Javascript 在没有其他url的情况下是否可以执行Ajax url操作?
我正在尝试集成ajax,以便在保存某些内容并且只收到确认消息时不会刷新页面。问题是我收到了确认消息,但数据没有插入数据库 佩奇公司Javascript 在没有其他url的情况下是否可以执行Ajax url操作?,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我正在尝试集成ajax,以便在保存某些内容并且只收到确认消息时不会刷新页面。问题是我收到了确认消息,但数据没有插入数据库 佩奇公司 public function addtofavorites() { $q = "select * from carads where STATUS='1' and DEL='0' and ADID=".$_REQUEST['carID']; $result = $this->QueryResult($q); if($result[0]
public function addtofavorites() {
$q = "select * from carads where STATUS='1' and DEL='0' and ADID=".$_REQUEST['carID'];
$result = $this->QueryResult($q);
if($result[0]->TITLE!='-1' || $result[0]->TITLE!='') {
$title = $result[0]->TITLE;
} else {
$title = 'No Title';
}
if($result[0]->IMAGE1!='-1' || $result[0]->IMAGE1!='') {
$image = $result[0]->IMAGE1;
} else {
$image = 'uploads/noimg.jpg';
}
include("inc/membersite_config.php");
$email = $fgmembersite->UserEmail();
$carlink = $_SERVER['REQUEST_URI'];
$carlink = explode('_', $carlink);
$carlink = $carlink[1];
$insertarray = array(
'email' => $email,
'favoritecarlink' => $carlink,
'favoritecartitle' => $title,
'favoritecarimg' => $image);
$q2 = "select * from favoritecar WHERE email='$email'";
$resultfav = $this->QueryResult($q2);
foreach ($resultfav as $resultfavs) {
$carlinkdbs[] = $resultfavs->favoritecarlink;
}
if (!empty($carlinkdbs)) {
if (in_array($carlink, $carlinkdbs)) {
echo '<script type="text/javascript">$(document).ready(function(){ $("#addtofavs").click(function(){ $("#hidemes").text("Car had been already added to your favorite cars"); }); $("#addtofav").blur(function(){ $("#hidemes").text(""); }); });</script>';
echo '<input type="submit" name="addtofav" onclick="displaymessage()" id="addtofavs" class="addtofav" value="">';
} else {
if (isset($_POST["addtofav"])) {
$this->InsertValues($insertarray, 'favoritecar');
echo '<script type="text/javascript">alert("Car had been added to favorites");</script>';
}
echo '<script>$(function () { $("form").on("submit", function (e) { $.ajax({type: "post", url: "", data: $("form").serialize(), success: function () { alert("form was submitted"); } }); e.preventDefault(); }); });</script>';
echo '<form>';
echo '<input type="submit" name="addtofav" onclick="displaymessage()" id="addtofavs" class="addtofav" value="">';
echo '</form>';
}
} else {
if (isset($_POST["addtofav"])) {
$this->InsertValues($insertarray, 'favoritecar');
echo '<script type="text/javascript">alert("Car had been added to favorites");</script>';
}
echo '<form>';
echo '<input type="submit" name="addtofav" onclick="displaymessage()" id="addtofavs" class="addtofav" value="">';
echo '</form>';
}
}
$this->InsertValues($insertarray,'favoritecar')代码>//这是数据插入数据库的方式$insertarray
是保存数据的数组,favoritecar
是数据所在的表。我想说的是,在使用
的旧方法中,插入显示消息的数据并重新加载,效果很好
函数QueryResult
和InsertValues
是如下所示的自定义函数:
我还尝试从ajax url向url添加:“page.inc”-代码所在的实际页面,但它没有响应任何成功消息
请帮帮我,我是阿贾克斯的noob。这是我第一次尝试实现ajax。非常感谢。
- 首先,我想知道您的数据是否在php函数addtofavorites()中正确检索?你能给我们看看你的$u POST值吗
- 对我来说,在提交表单后,操作将正确停止
- url属性可以为空吗
- 这不是对你问题的回答,而是一个建议和另一个步骤。如果您正在发出AJAX请求,请不要在PHP代码中添加javascript。好吧,这是工作,但很难看。我建议您返回一个布尔值,以了解插入是否成功(或您想要的“代码”)
但是您希望url:“
做什么?@A.Wolff要做到这一点
doesYou应该添加e.preventDefault();在$ajax之前…这与表单操作无关。您需要将要向数据库添加内容的服务器端脚本路径设置为ajax请求的选项URL。沃尔夫,我不明白这个概念。这将是一个漫长的一周…我感谢您的回复,但它有点复杂。下面是我正在尝试的,函数addtofavorites()位于文件details-page.inc中一个名为class WebUser extensed CommanFunctions
的类中。我删除了函数中的所有表单和if-isset实例,现在我试图在单击submit按钮时调用公共函数addtofavorites(),但找不到确切的方法。我目前在details-page.phpOh中将表单添加到前端!问题是如何从AJAX请求中调用函数?您应该找到在url中传递值的方法。url:“?className=N2&functionName=addtofavorites”。这只是一个例子,我不知道你的整个架构。
$(function () {
$("form").on("submit", function (e) {
$.ajax({type: "post", url: "", data: $("form").serialize(), success: function(){ alert("form was submitted"); } }); e.preventDefault(); }); });
$("form").on("submit", function (e) {
$.ajax({
type: "post",
url: "",
data: $("form").serialize(),
success: function(data){
// Check data response... if true insert was a success else an error occurred
}
});
e.preventDefault();
});