Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/448.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/279.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.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 Ajax不会在几秒钟后发布到php_Javascript_Php_Jquery_Ajax - Fatal编程技术网

Javascript Ajax不会在几秒钟后发布到php

Javascript Ajax不会在几秒钟后发布到php,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我正在使用ajax将变量发布到php。Php文件将这些变量写入文本文件。python脚本从文本文件中读取变量以控制两个电动机。这工作了大约15秒,但在那之后,我必须重新加载网页以再次控制。python脚本不是问题所在,因为当我在文本文件中手动编写变量时,即使网页没有这样做,它也能工作。 所以问题是,几秒钟后javascript/ajax脚本不会将变量发布到php文件中,我猜 function startajax(){ $.ajax({ url:"/motor.php",

我正在使用ajax将变量发布到php。Php文件将这些变量写入文本文件。python脚本从文本文件中读取变量以控制两个电动机。这工作了大约15秒,但在那之后,我必须重新加载网页以再次控制。python脚本不是问题所在,因为当我在文本文件中手动编写变量时,即使网页没有这样做,它也能工作。 所以问题是,几秒钟后javascript/ajax脚本不会将变量发布到php文件中,我猜

    function startajax(){ 
    $.ajax({
    url:"/motor.php",
          });
    }

    var v= 0;
    var q=0;
    function keyCode(event) {

        var x = event.keyCode;

        if (x == 37) {
            var z = v-10;
            if (z < -100) {
                z= -100;
            }
            v = z;

            document.getElementsByName('speedrechtsoutput')[0].value = v;

            var d = $.ajax({
                cache: false,
                type: "POST",
                url: "text.php",
                data: {searchq: v, search: q},
            });

        };

        if (x == 39) {
            var z = v+10;

            if (z > 100) {
                z = 100;
            }

            v = z;

            document.getElementsByName('speedrechtsoutput')[0].value = v;

            var g = $.ajax({
                cache: false,
                type: "POST",
                url: "text.php",
                data: {searchq: v, search: q},
            });
        };

        if (x == 65) {
            var m = q-10;

            if (m < -100) {
                m = -100;
            }

            q= m;

            document.getElementsByName('inputbox')[0].value = "";
            document.getElementsByName('speedlinksoutput')[0].value = q;

            var f = $.ajax({
                cache: false,
                type: "POST",
                url: "text.php",
                data: {search: q, searchq: v},

            });
        };

        <!--(...)-->
    }
函数startajax(){code> $.ajax({ url:“/motor.php”, }); } var v=0; var q=0; 功能键代码(事件){ var x=event.keyCode; 如果(x==37){ var z=v-10; 如果(z<-100){ z=-100; } v=z; document.getElementsByName('speedrechtsoutput')[0]。值=v; var d=$.ajax({ cache:false, 类型:“POST”, url:“text.php”, 数据:{searchq:v,searchq:q}, }); }; 如果(x==39){ var z=v+10; 如果(z>100){ z=100; } v=z; document.getElementsByName('speedrechtsoutput')[0]。值=v; var g=$.ajax({ cache:false, 类型:“POST”, url:“text.php”, 数据:{searchq:v,searchq:q}, }); }; 如果(x==65){ var m=q-10; 如果(m<-100){ m=-100; } q=m; document.getElementsByName('inputbox')[0]。value=“”; document.getElementsByName('speedlinksoutput')[0].value=q; var f=$.ajax({ cache:false, 类型:“POST”, url:“text.php”, 数据:{search:q,searchq:v}, }); }; } 还有html

Input: <input type="text" name="inputbox" size="50" onkeydown="keyCode(event)">
<br> <br> <rb>

Speed Links: <input type="textbox" name="speedlinksoutput" value="0"></input>
Speed Rechts: <input type="textbox" name="speedrechtsoutput" value="0"></input>
输入:


速度链接: 速度记录:
text.php文件

<?php
if (isset($_POST['searchq']) && $_POST['searchq'] != "" && isset($_POST['search']) && $_POST['search'] != "")
{

    $name = $_POST['searchq'];
    $name = "$name\n";
    $handle = fopen ("datei.txt", "w");
    fwrite ($handle, $name);
    $test = $_POST['search'];
    $test="$test\n";
    fwrite($handle, $test);
    fclose ($handle);

    exit;
}
?>


您可能需要限制调用,这样您就不会因为调用而影响服务器。正如我所知,
$ajax
只调用一次URL,而不是重复调用。另外,如果你关心服务器响应,我认为你需要一个
成功
功能。浏览器调试控制台告诉你什么?@jeff调试控制台没有告诉我任何错误或警告。你可能需要限制调用,这样你就不会在调用时敲打你的服务器。我知道
$.ajax
调用URL一次也不会反复地另外,如果你关心服务器响应,我认为你需要一个
success
功能。浏览器调试控制台告诉你什么?@jeff调试控制台没有告诉我任何错误或警告。