我试图让这个ajax正常工作,但是它没有返回任何东西!我试着算了很长一段时间,但我被难住了。我没有得到任何回报。
下面我使用PHP生成HTML和Ajax,所以下面是生成不起作用的Ajax的脚本的输出。
<div id='imageOptionsDiv1' name='imageOptionsDiv1'>
<p>Convert This Image</p>
<p>Specify Filename: <input type="text" id='userphotofilename1' name='userphotofilename1' value='HonestRepairSmallLogo_png'>
<select id='photoextension1' name='photoextension1'>
<option value="">Select Format</option>
<option value="jpg">Jpg</option>
<option value="bmp">Bmp</option>
<option value="png">Png</option>
</select></p>
<p>Width and height: </p>
<p><input type="number" size="4" value="0" id='width1' name='width1' min="0" max="10000"> X <input type="number" size="4" value="0" id="height1" name="height1" min="0" max="10000"></p>
<p>Rotate: <input type="number" size="3" id='rotate1' name='rotate1' value="0" min="0" max="359"></p>
<input type="submit" id='convertPhotoSubmit1' name='convertPhotoSubmit1' value='Convert Image'>
<script type="text/javascript">
$(document).ready(function () {
$('#convertPhotoSubmit1').click(function() {
var rot = $('rotate1').val();
var wid = $('width1').val();
var hgt = $('height1').val();
var pext = $('photoextension1').val;
var upfn = $('userphotofilename1').val;
$.ajax({
url: 'convertCore.php',
type: "POST",
data: {
rotate:rot,
width:wid,
height:hgt,
photoextension:pext,
userphotofilename:upfn},
success: function(data) {
alert("convertGui2.php"); },
error: function(data) {
alert("Cannot convert this file!"); }
});
});
});
</script>
</div>
按照要求,下面是生成上述代码的PHP部分……
if (in_array($extension, $ImageArray1)) {
?>
<div id='imageOptionsDiv<?php echo $ConvertGuiCounter1; ?>' name='imageOptionsDiv<?php echo $ConvertGuiCounter1; ?>' style="max-width:750px; display:none;">
<p style="max-width:1000px;"></p>
<p>Convert This Image</p>
<p>Specify Filename: <input type="text" id='userphotofilename<?php echo $ConvertGuiCounter1; ?>' name='userphotofilename<?php echo $ConvertGuiCounter1; ?>' value='<?php echo str_replace('.', '_', $File); ?>'>
<select id='photoextension<?php echo $ConvertGuiCounter1; ?>' name='photoextension<?php echo $ConvertGuiCounter1; ?>'>
<option value="">Select Format</option>
<option value="jpg">Jpg</option>
<option value="bmp">Bmp</option>
<option value="png">Png</option>
</select></p>
<p>Width and height: </p>
<p><input type="number" size="4" value="0" id='width<?php echo $ConvertGuiCounter1; ?>' name='width<?php echo $ConvertGuiCounter1; ?>' min="0" max="10000"> X <input type="number" size="4" value="0" id="height<?php echo $ConvertGuiCounter1; ?>" name="height<?php echo $ConvertGuiCounter1; ?>" min="0" max="10000"></p>
<p>Rotate: <input type="number" size="3" id='rotate<?php echo $ConvertGuiCounter1; ?>' name='rotate<?php echo $ConvertGuiCounter1; ?>' value="0" min="0" max="359"></p>
<input type="submit" id='convertPhotoSubmit<?php echo $ConvertGuiCounter1; ?>' name='convertPhotoSubmit<?php echo $ConvertGuiCounter1; ?>' value='Convert Image' onclick="toggle_visibility('loadingCommandDiv');">
<script type="text/javascript">
$(document).ready(function () {
$('#convertPhotoSubmit<?php echo $ConvertGuiCounter1; ?>').click(function() {
var rot = $('#rotate<?php echo $ConvertGuiCounter1; ?>').val();
var wid = $('#width<?php echo $ConvertGuiCounter1; ?>').val();
var hgt = $('#height<?php echo $ConvertGuiCounter1; ?>').val();
var pext = $('#photoextension<?php echo $ConvertGuiCounter1; ?>').val;
var upfn = $('#userphotofilename<?php echo $ConvertGuiCounter1; ?>').val;
$.ajax({
url: 'convertCore.php',
type: "POST",
data: {
rotate:rot,
width:wid,
height:hgt,
photoextension:pext,
userphotofilename:upfn},
success: function(data) {
alert("convertGui2.php"); },
error: function(data) {
alert("Cannot convert this file!"); }
});
});
});
</script>
<?php } ?>
</div>
<hr />
<?php } ?>
</div>
<?php
include ('footer.php');
?>
帖子需要转到convertCore.php,它包含一堆用命令行工具转换文件的意大利面条。内部PHP脚本上没有递增器。增量仅用于区分页面上的不同GUI元素。该项目的较早版本可在https://github.com/zelon88/HRConvert2上查看
发布于 2018-05-30 07:32:27
它不会返回任何内容,因为jQuery不知道这个$('rotate1').val();
与什么相关...
如果您在这里获取的是id,那么您需要将id符号#
放在id的前面。像这样..。
$('#rotate1').val();
同样,如果它是您试图获取的name属性,请尝试使用以下命令...
$('input[name="rotate1"]').val();
为每一个都放上相关的标签;select、input等。
更新
确保在Ajax数据调用中,在key:value对中设置了正确的键。键应该反映元素的名称属性,因为这是我们与php交换信息的地方。
因此,在Ajax的data参数中,这些对应该如下所示:
rotate1:rot,
width1:wid,
height1:hgt,
photoextension1:pext,
userphotofilename1:upfn
https://stackoverflow.com/questions/50594339
复制相似问题