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