Php 向cURL请求提交带有数据的表格
我试图获得一个页面,该页面显示一个允许文件上传的表单,然后在提交时运行一个php函数(curl)将文件上传到API。但是我需要一个来自API的上传令牌来返回并将其自身包含在表单中 我不确定最好的方法是什么,我只是一个初学者 我的代码如下: 如您所见,我尝试在提交时运行php函数,然后jQuery使用curl响应返回的变量附加一个隐藏的输入,但我不知道这是否可行 有没有人能给我们一些建议,让我们找到一个更好的方法Php 向cURL请求提交带有数据的表格,php,jquery,forms,curl,Php,Jquery,Forms,Curl,我试图获得一个页面,该页面显示一个允许文件上传的表单,然后在提交时运行一个php函数(curl)将文件上传到API。但是我需要一个来自API的上传令牌来返回并将其自身包含在表单中 我不确定最好的方法是什么,我只是一个初学者 我的代码如下: 如您所见,我尝试在提交时运行php函数,然后jQuery使用curl响应返回的变量附加一个隐藏的输入,但我不知道这是否可行 有没有人能给我们一些建议,让我们找到一个更好的方法 <html> <head> <title>Ze
<html>
<head>
<title>Zendesk Form</title>
</head>
<body>
<?php
require_once('zendesk.php');
if (isset($_POST["z_name"])) {
$upload = $_POST['z_attachment'];
$initial = curlWrap("/uploads.json?filename=license2233.txt", $upload, "POST");
?>
<script>
$("#zenform").append('<input type="hidden" name="z_token" value="<?php echo $upload_token; ?>" />').submit();
</script>
<?php } ?>
<div class="zenform">
<form id="zenForm" method="POST" action="zenconnect.php" name="zenform">
<label>Name:</label>
<input type="text" value="" name="z_name">
<label>Email:</label>
<input type="text" value="" name="z_requester">
<label>Subject:</label>
<input type="text" value="" name="z_subject">
<label>Change:</label>
<textarea value="" name="z_description"></textarea>
<label>Attach Files:</label>
<input type="file" name="z_attachment">
<!-- <input type="hidden" name="z_token" value="<?php echo $upload_token; ?>"> -->
<input type="submit" value="Send Changes" id="zenSubmit">
</form>
</div>
</body>
</html>
Zendesk表格
$(“#zenform”).append(“也许您应该重新考虑使用php curl
您已经标记了jquery-因此我建议您在表单上捕获提交事件并自己控制它。这将防止页面重新提交。我的意思是:
使用此样式的选择器获取表单数据
var request_data = {
z_name: $('input#(id of zname input field').val(),
z_subject: $('input#(id of zsubject input field').val(),
...
} //you havent set your id's yet
$.post("youruri", request_data, function(data, err){
if(err){
console.log(err);
} else {
//do something with your received data
}
});
这有帮助吗?谢谢你的帮助,我肯定会尝试一下,尽管我是一个初学者,API文档似乎只适合curl方法,我不确定我是否能够将所有内容重新编码到Jquery/Ajax中-我使用Jquery尝试根据curl请求操作表单,但我假设这可能不是正确的sible.坚持curl我只需要创建更多的重定向,而不是使用jQuery吗?这是你的架构问题。你想在客户端和服务器上做客户端的事情。1.客户端请求form.php->server接受请求并将form.php解释为html并发送response->user看到前面的表单他并输入信息->用户提交他的信息->javascript(jQuery)验证此信息并告诉用户更正错误->用户更正错误并再次提交->javascript验证并没有发现错误,因此它将表单发送到服务器->服务器响应:感谢填写我的表单;这是“工作流”。使用javascript发送请求并捕获回调中的响应,然后动态编辑DOM是一种用户体验,而不是体系结构。如果您想设计用户认为有吸引力的应用程序/网页,您应该使用jquery