Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/433.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 使用Ajax运行php函数_Javascript_Php_Jquery_Ajax - Fatal编程技术网

Javascript 使用Ajax运行php函数

Javascript 使用Ajax运行php函数,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,嗨,我正在尝试创建一个按钮,它将调用一个php函数,从web应用程序向Shopify添加产品 首先,这是我的result.php文件,它成功地展示了amazon产品 在那里你会发现两件重要的事情 第一地址 问题是,当我单击Add按钮时,它会显示页面的HTML,但在create_product.php文件上什么也没有发生。我想让它调用那个函数。另一方面,我在create_产品上的代码很好,可以100%单独工作,但不能与我的web应用程序一起工作 以下是我的create_product.php代码

嗨,我正在尝试创建一个按钮,它将调用一个php函数,从web应用程序向Shopify添加产品

首先,这是我的result.php文件,它成功地展示了amazon产品

在那里你会发现两件重要的事情

第一地址

问题是,当我单击Add按钮时,它会显示页面的HTML,但在create_product.php文件上什么也没有发生。我想让它调用那个函数。另一方面,我在create_产品上的代码很好,可以100%单独工作,但不能与我的web应用程序一起工作

以下是我的create_product.php代码:


您可以在脚本中添加以下ajax函数。请注意,ajax函数会将一个值为triggerPHP的数据发送到您拥有PHP代码的页面。因此,在运行php代码的.php页面上,您必须设置一个代码,以某种方式通过$_POST[]superglobal捕获触发器php数据,并执行所需的任何操作。 乙二醇

}

JQuery ajax:

$document.readyfunction{ $button.clickfunction{ $.ajax{ 键入:“POST”, 数据:'triggerPHP', 数据类型:json, url:“create_product.php”, 成功:functiondata{ 提示数据; }, 错误:functionXMLHttpRequest、textStatus、ErrorRown{ 警惕一些错误; } }; };
}; 您的AJAX调用将通过POST或GET发送数据,然后您可以对其执行任何操作,并向脚本返回一些内容。就这么简单

让我们来举一些例子。如果要在服务器上创建A+B,则需要有一个包含以下输入的表单:

<form id="yourform">
    <div><input name="A" type="text" /></div>
    <div><input name="B" type="text" /></div>
</form>
但是你在服务器上做什么? 嗯,我只是想返回我的输入,只是想检查一下。下面是我的PHP:

<?php
    header("Content-type: application/json; charset=utf-8"); //that's required to return any JSON data
    if(isset($_POST, $_POST['A'], $_POST['B']))
        exit(json_encode($_POST));
    else
        exit("INVALID REQUEST.");
?>

这是使用AJAX发送信息以在PHP上执行某些操作的方式。

看起来您实际上并没有将任何数据传递给create_product.PHP。您的$.ajax选项中需要一个数据键,其中包含希望在PHP脚本中使用的信息,该信息将通过$\u POSTcan提供。请给我一个明确的观点?如何通过数据使用$\u POST,以及它应该包括什么?在Ajax调用中添加一个错误处理程序。此外,还应该取消butotnclick@epascarello在ajax上添加错误处理后,您好。我收到200 OK的信息。这意味着ajax运行良好。你取消点击按钮是什么意思?谢谢你@liontass,我知道了。只需一件事//在这里执行代码记住回显json_encodedata我将在哪个文件上编写此代码?创建_product或result.php?它里面应该放什么?回音必须在create_产品中。你应该有一个字符串、一个数字、一个数组HTML代码或脚本。很抱歉,我不清楚,ifisset$_POST['triggerPHP']{//在此处执行代码记住回显json_encodedata它应该放在哪里以及它应该包含什么?如果您检查了我的create_product.php文件,其中包含所有代码。它有标题,body_html,必须在单击add按钮时替换为我的amazon产品,它应该转到我的shopify Store。您的ajax应该有数据触发Rhp=某个值
<form id="yourform">
    <div><input name="A" type="text" /></div>
    <div><input name="B" type="text" /></div>
</form>
$("#yourform").submit(function(e) {
    e.preventDefault();
    $.ajax({
        type: "POST", //or "GET", if you want that
        url: "yourfile.php",
        data: $(this).serializeArray(), //here goes the data you want to send to your server. In this case, you're sending your A and B inputs.
        dataType: "json", //here goes the return's expected format. You should read more about that on the jQuery documentation
        success: function(response) { //function called if your request succeeds
            //do whatever you want with your response json;
            //as you're learning, try that to see on console:
            console.log(response);
        },
        error: function(response) { //function called if your request failed
            //do whatever you want with your error :/
        }
    });
});
<?php
    header("Content-type: application/json; charset=utf-8"); //that's required to return any JSON data
    if(isset($_POST, $_POST['A'], $_POST['B']))
        exit(json_encode($_POST));
    else
        exit("INVALID REQUEST.");
?>