Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/235.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未在$.ajax POST上设置POST值_Javascript_Php_Jquery_Ajax_Jquery Events - Fatal编程技术网

Javascript $\u未在$.ajax POST上设置POST值

Javascript $\u未在$.ajax POST上设置POST值,javascript,php,jquery,ajax,jquery-events,Javascript,Php,Jquery,Ajax,Jquery Events,我不熟悉PHP和javascript,遇到了一个问题,需要编辑读入的xml文档中的值。我有一个HTML选择,它是由PHP代码动态创建的 function outputTableRow() { echo "<tr>"; echo "<td>"; echo "<select onchange=\"ValueChange(this);\">"; echo "<option value=\"not value\"

我不熟悉PHP和javascript,遇到了一个问题,需要编辑读入的xml文档中的值。我有一个HTML选择,它是由PHP代码动态创建的

function outputTableRow() {
echo "<tr>";
    echo "<td>";
        echo "<select onchange=\"ValueChange(this);\">";
            echo "<option value=\"not value\" selected >No selection</option>";
            echo "<option value=\"A\" >A</option>";
            echo "<option value=\"B\" >B</option>";
            echo "<option value=\"C\" >C</option>";
            echo "<option value=\"D\" >D</option>";
        echo "</select>";
    echo "</td>";
echo "</tr>";
}
在这里,我尝试检查ajax请求在_POST中设置的值,以调用适当的函数

if(isset($_POST['callFunction'])){
    if($_POST['callFunction'] == 'UpdateValue'){
       UpdateValue();
    }
}
最后,在我试图访问的函数中,我试图在到达代码时编写一个控制台日志,但它永远不会到达那里。事实上,这篇文章总是空的

function UpdateValue()
{
   echo '<script>console.log("VALUE CHANGE")</script>';
}
函数UpdateValue()
{
echo'console.log(“值更改”);
}
非常感谢您的帮助。


Ajax调用中的URL可能不正确,它必须包含类似的服务器,您可以尝试使用“URL:”

首先,a是输出HTML块的方式:

<?php
function outputTableRow() {
    echo <<< HTML
<tr>
    <td>
        <select onchange="ValueChange(this);">
            <option value="not value" selected >No selection</option>
            <option value="A">A</option>
            <option value="B">B</option>
            <option value="C">C</option>
            <option value="D">D</option>
        </select>
    </td>
</tr>
HTML;
}
实际上,您还应该使用jQuery来绑定事件,而不是使用
onchange
属性。假设您给出了select
id=“changer”
,它看起来像这样:

$("select#changer").on("change", function() {ValueChange(this);});

echo”“
您缺少什么吗?抱歉,这是一个正确的选择标记,我刚刚删除了css附加项,有点激动。您假设$.ajax将呈现脚本标记,您的假设是错误的ajax函数中没有成功回调。缺少成功:函数(ss){alert(ss);}
function ValueChange(obj)
{
    var value = obj.value;

    $.ajax({
        type: "POST",
        url: "functions.php",
        data: "callFunction=UpdateValue",
        success: function(data) {$(body).append(data);}
    });
}
$("select#changer").on("change", function() {ValueChange(this);});