使用相同的JSON数据键调用一个php文件的多个Ajax调用

使用相同的JSON数据键调用一个php文件的多个Ajax调用,php,ajax,validation,Php,Ajax,Validation,我正在尝试验证动态文本字段列表。 验证需要一个AJAX调用来与服务器交互。 在后端,我只编写了一个php文件,用于读取输入请求数据并执行操作。下面是一个例子 abc.js row_count = 6 for (i = 1; i <=row_count; i++) { id = "#val"+i.toString() ; $(id).change(function(){ input_val="random"; $.ajax({

我正在尝试验证动态文本字段列表。 验证需要一个AJAX调用来与服务器交互。 在后端,我只编写了一个php文件,用于读取输入请求数据并执行操作。下面是一个例子

abc.js

row_count = 6
for (i = 1; i <=row_count; i++) {
    id = "#val"+i.toString() ;
    $(id).change(function(){
        input_val="random";
        $.ajax({
            url:"url.php",
            type:post,   
            async:true,
            dataType: 'json',
            data : {temp:input_val},
            success:function(result){},
            error: function (request, status, error) {}
        });
    });
}           
url.php

<?php
$random_val = $_POST['temp'];
$cmd = 'systemcommand '.$random_val;
$flag = exec($cmd);
if ($flag == 0){
    echo json_encode(array("status"=>'Fail'));
}
else{
    echo json_encode(array("status"=>'Success'));
}
?>
当row_count=1只有一个文本字段时,它可以正常工作,但当输入大于1时,它会失败。 当计数大于1时,php脚本无法读取JSON data temp中的请求数据和密钥。在那种情况下它是空白的。 任何领导或帮助都应该受到感谢。
谢谢

您的javascript位需要一些调整,因为您不需要为每个元素定义ajax。使用基于类的事件。此外,由于输入的行为不同于选择,因此应该设置两个不同的事件类处理程序

function validateAjax ( element ) {
    var input_val = element.val();// get the value of the element firing this off
    $.ajax({
        url: "url.php",
        type: 'post',   
        async: true,
        dataType: 'json',
        data : { temp: input_val },
        success: function(result) {
            // check your result.status here
        },
        error: function (request, status, error) { }
    });
}
$(".validate_change").on("change",function() { // for selects
    validateAjax( $(this) );
});
$(".validate_input").on("input",function() { // for text inputs
    validateAjax( $(this) );
});
并为您的选择或输入添加适当的类

<select class="validate_change" name="whatever"><options/></select>
<input class="validate_input" name="blah">

那么,您只是在执行从网页POST var传入的任何内容???请说明此网站将处于受信任的高安全访问之下,并且只有使用它的人是受信任的经过身份验证的用户:-

您不需要为每个相同的更改事件处理程序生成完整的js代码块。只需将其附加到.class选择器,而不是id选择器。我不知道input_val的实际值是什么,但由于您没有使用var定义它,它可能是全局的,因此在循环完成后可能不是您所认为的那样。这就是你正在使用的代码吗?如果没有,您应该发布它。是的,只有经过身份验证的用户才能访问此页面。谢谢它起作用了
$cmd = 'systemcommand '.$random_val;
$flag = exec($cmd);