Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/450.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在没有其他url的情况下是否可以执行Ajax url操作?_Javascript_Php_Jquery_Ajax - Fatal编程技术网

Javascript 在没有其他url的情况下是否可以执行Ajax url操作?

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]

我正在尝试集成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]->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();
});