【问题标题】:Call PHP Method with Ajax [duplicate]使用 Ajax 调用 PHP 方法 [重复]
【发布时间】:2015-07-04 01:58:32
【问题描述】:

我正在尝试使用 ajax 调用另一个 php 文件的函数。 这是 Ajax 调用:

函数 getBaseURL() {

         var pathArray = location.href.split( '/' );
         var protocol = pathArray[0];
         var host = pathArray[2];
         var url = protocol + '//' + host;
         return url+"/PhpProject2";
     }

   function getPageSaverUrl() {
return getBaseURL()+"/manager/content_manager/page_saver.php/SaveTest";
}

function savePage() {
 alert("Saving Page");
 var url = getPageSaverUrl();
 $.ajax({
   type: "POST",
   url: url,
   data: "name=hello",
   success: function(response){

     alert(response);
   }
 });
}

但我没有从脚本中得到任何响应。我们可以从ajax url参数调用php函数吗?

【问题讨论】:

  • 无论后端语言如何,您都可以使用 ajax 访问网站端点。您是否尝试将 url 写入控制台以确保它是正确的?您是否尝试过制作一个基本表单以使用输入发布到该 url 以查看是否有效? (例如
    blah blah blah
    )。或者您可以使用浏览器休息客户端(Chrome 的 cRest,firefox 的 RESTful)尝试该请求,以确保您的端点正常工作。

标签: javascript php ajax


【解决方案1】:

你不能从 ajax url 参数调用 php 函数。

您可以在ajax调用中使用参数,请参见以下代码 -

 function getPageSaverUrl() {
  return getBaseURL()+"/manager/content_manager/page_saver.php?param=SaveTest";
 }

然后在文件page_saver.php中,你需要获取参数'param',它的值是'SaveTest',然后执行这个函数。

试试这个,如果您有任何疑问,请告诉我。

【讨论】:

    【解决方案2】:

    首先,根据 backend ,ajax 和普通的 http 请求都是相同的。他们访问服务器并浏览您调用的 url。

    如果您致电 - "http://website.com/mypages/page1" 。

    到达服务器 website.com 的 80 端口

    如果任何软件应用程序侦听该端口将接收请求。 如果是 php 应用程序。 apache 服务器接收请求并浏览 Document root 中的 url "/mypages/page1" 配置。如果没有任何重写规则,则直接在“mypages”中找到目录“page1”。如果您配置的索引文件是 index.php,它会搜索并运行它。在该索引文件中,您可以根据请求类型使用 php 变量获取数据。如果是发布数据 "$_POST" 或者查询字符串 "$_get" 或其他一些 php 的东西。而且你必须通过php逻辑根据你的需要调用所需的函数。

    在上面的ajax中,数据必须是

    data:{name:"hello"}
    

    否则,如果您需要发送表单数据,请使用

    $(form).serialize()
    

    【讨论】:

      猜你喜欢
      • 2023-03-31
      • 2014-07-08
      • 1970-01-01
      • 1970-01-01
      • 2016-07-05
      • 2014-07-19
      • 2012-03-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多