Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/295.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 获取不带$\u POST或$\u Get方法的窗体的值_Javascript_Php_Jquery_Wordpress - Fatal编程技术网

Javascript 获取不带$\u POST或$\u Get方法的窗体的值

Javascript 获取不带$\u POST或$\u Get方法的窗体的值,javascript,php,jquery,wordpress,Javascript,Php,Jquery,Wordpress,我正在使用javascript、jQuery和PHP编写一个wordpress页面。它从传递给页面的值中生成QRcode。生成后,我提取数据中QRcode的src:image/png;base64格式。问题是在不使用任何方法的情况下将此字符串传递给PHP。我需要它形成一个HTML格式的电子邮件,这是发送网页时加载。我不熟悉AJAX,但我知道有一个URL()方法,可以将值传递给PHP函数 这是我写的一段代码(是的,它是多余的和不整洁的…): 确保将其保存到您的设备上,并在到达时显示 <div

我正在使用javascript、jQuery和PHP编写一个wordpress页面。它从传递给页面的值中生成QRcode。生成后,我提取数据中QRcode的src:image/png;base64格式。问题是在不使用任何方法的情况下将此字符串传递给PHP。我需要它形成一个HTML格式的电子邮件,这是发送网页时加载。我不熟悉AJAX,但我知道有一个URL()方法,可以将值传递给PHP函数

这是我写的一段代码(是的,它是多余的和不整洁的…): 确保将其保存到您的设备上,并在到达时显示

<div id="qrcode"></div>
<form method="post">
<input type="text" name="image" id="image"></input>
<input type="submit" value="Send to e-mail"></input>
</form>
[gravityform id="3" title="false" description="false"] //Hidden form with values for QRcode
<script type="text/javascript" src="http://yourjavascript.com/10124121272/qrcode.js"></script>
<script>
var email = document.getElementById("input_3_1").value;
var date = document.getElementById("input_3_2").value;
var type = document.getElementById("input_3_3").value;
var id = document.getElementById("input_3_4").value;
var qrcode = new QRCode("qrcode", {
    text: "Email of buyer: "+email+"; Type of an offer: "+type+"; Date of purchase: "+date+"; ID: "+id,
    width: 256,
    height: 256,
    colorDark : "#000000",
    colorLight : "#ffffff",
    correctLevel : QRCode.CorrectLevel.H
});
jQuery(document).ready(function( $ ) {
var image = jQuery('img[alt="Scan me!"]').attr('src');
jQuery('#image').val(image);
});
</script>

[insert_php]
add_filter( 'wp_mail_content_type', 'wpdocs_set_html_mail_content_type' );
$to = $_GET[email];
$image = Some magical approach to get base64 image from form name="image"
$subject = 'Subject of an email';
$message = '<html><head><body>
<h1>Hello! Here is your QRcode!</h1>
<img src=$image />
</body></head><html>'
wp_mail( $to, $subject, $message );
remove_filter( 'wp_mail_content_type', 'wpdocs_set_html_mail_content_type' );
function wpdocs_set_html_mail_content_type() {
    return 'text/html';
}
[/insert_php]  

[gravityform id=“3”title=“false”description=“false”]//带有QRcode值的隐藏表单
var email=document.getElementById(“input_3_1”).值;
var date=document.getElementById(“input_3_2”).值;
变量类型=document.getElementById(“input_3_3”).值;
var id=document.getElementById(“input_3_4”).值;
var qrcode=新qrcode(“qrcode”{
文本:“买家电子邮件:“+Email+”,报价类型:“+Type+”,购买日期:“+Date+”,ID:“+ID,
宽度:256,
身高:256,
colorDark:#000000“,
彩色灯光:“ffffff”,
correctLevel:QRCode.correctLevel.H
});
jQuery(文档).ready(函数($){
var image=jQuery('img[alt=“Scan me!”).attr('src');
jQuery('#image').val(image);
});
[插入]
添加过滤器(“wp\u邮件内容类型”、“wpdocs\u集\u html\u邮件内容类型”);
$to=$\你得到[电子邮件];
$image=从表单name=“image”获取base64图像的神奇方法
$subject='电子邮件的主题';
$message='1
你好这是你的QR码!
'
wp_邮件($to,$subject,$message);
删除过滤器(“wp\u邮件内容类型”、“wpdocs\u集\u html\u邮件内容类型”);
函数wpdocs\u set\u html\u mail\u content\u type(){
返回“text/html”;
}
[/insert_php]
问题是在不使用任何方法的情况下将此字符串传递给PHP

方法/动词是HTTP请求的关键部分,如果要将数据发送到PHP脚本,则需要该请求。您必须发出某种HTTP请求

您可以轻松地使用AJAX将数据添加到脚本中

$.post(
  '/yourScript.php'
  qrCodeStringData
  'text/plain'
).then(function () {
  // Do something if successful
}).catch(function () {
  // Do something if failure
});

另外,我得到的印象是,你正在用二维码发明自己的数据格式。我建议使用JSON,这样您就不必担心数据的结构化。(如果有人在你的数据中插入分号怎么办?你的格式突然变得不可用。使用众所周知的格式,如JSON,意味着你不必处理它。)

不管是谁,请告诉我一个原因好吗?我没有投你反对票,但我怀疑这是因为字面上的问题是无稽之谈。如果不向服务器发送内容,则无法向服务器发送内容。我想我知道你的意思,现在正在给你写一个答案……我没有否决投票,但你是对的,AJAX可以将数据发送到php脚本以执行任何需要的操作。为什么禁止使用$\u POST或$\u GET方法?然后使用AJAX或隐藏表单,GET和POST与用户交互无关(或缺乏交互)