Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/435.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 国际标准化组织’;你不应该运行PHP文件的内容吗?_Javascript_Php_Fetch - Fatal编程技术网

Javascript 国际标准化组织’;你不应该运行PHP文件的内容吗?

Javascript 国际标准化组织’;你不应该运行PHP文件的内容吗?,javascript,php,fetch,Javascript,Php,Fetch,我试图使用fetch而不是xmlhttprequest,但是fetch没有像类似的ajax系统那样工作,或者至少,我不能让它以同样的方式工作。 我有以下代码: addAction("pressBTN", "click", function() { const data = new FormData(); data.append('dset1', theElement("dataINP1").value); data.append('dset2', theElement("dataIN

我试图使用fetch而不是xmlhttprequest,但是fetch没有像类似的ajax系统那样工作,或者至少,我不能让它以同样的方式工作。 我有以下代码:

addAction("pressBTN", "click", function() {
  const data = new FormData();
  data.append('dset1', theElement("dataINP1").value);
  data.append('dset2', theElement("dataINP2").value);
  /* for (var pair of data.entries()) {
  console.log(pair[0]+ ', '+ pair[1]); 
  } */
  fetch('./files/php/scripts/dataEntery.php', {
      method: 'POST',
      body: data
    })
    .then(response =>
      if (!response.ok) {
        throw new Error('Unknown Error #4: nice way to mess it up');
      } else {
        console.log(response);
      }
    }).catch((err) => {
  console.log(err);
});
}, true);
注意,element和addAction只是让我不必打字

document.getElementById

一遍又一遍

此过程返回ok响应。酷!除了php文件中的任何内容都无法运行之外

在前面的系统xmlhttprequest中,它调用php文件,运行其内容并返回。在PHP中,我可以根据数据库检查值,你知道的,我可以做服务器的事情

我尝试将php文件移动到与javascript文件相同的位置。没有什么。我确保数据值的格式正确,这仍然存在于注释代码中

我尝试了json,因为每个教程都显示json。它仍然不起作用。甚至连最简单的命令都不像

<?php
   print_r($_POST);
   echo “balls!”;
?>
我想知道PHP是否应该运行fetch


任何关于php为什么不在这里运行的帮助都将不胜感激。

您上面记录的是对象。实际获取流并将其读取到完成还需要另一个步骤

如果您将
fetch
请求更新为以下内容,则它应该可以工作:

fetch('./files/php/scripts/dataEntery.php', {
  method:'POST',
  body: data
}).then(response => {
   return response.text();
}).then(response => {
   console.log(response);
});

上面记录的是对象。实际获取流并将其读取到完成还需要另一个步骤

如果您将
fetch
请求更新为以下内容,则它应该可以工作:

fetch('./files/php/scripts/dataEntery.php', {
  method:'POST',
  body: data
}).then(response => {
   return response.text();
}).then(response => {
   console.log(response);
});


这是我的房间吗?如果是这样的话,您应该这样标记它。尝试使用
$data=file\u get\u contents(“php://input"); 打印(数据)fetch();它们都发送普通的HTTP请求。您应该在服务器上和浏览器中使用诊断工具来验证HTTP请求是否发出了预期参数(etc),以及服务器响应包含的内容。@TheAmazingNeckbeard好的,这就是为什么我询问而不是自己标记它的原因。您使用的语法经常出现在react中。这是ReactJS吗?如果是这样的话,您应该这样标记它。尝试使用
$data=file\u get\u contents(“php://input"); 打印(数据)fetch();它们都发送普通的HTTP请求。您应该在服务器上和浏览器中使用诊断工具来验证HTTP请求是否发出了预期参数(etc),以及服务器响应包含的内容。@TheAmazingNeckbeard好的,这就是为什么我询问而不是自己标记它的原因。您使用的语法经常出现在react中。这很有效。但还是不明白为什么。有没有可能你能给我一点更详细的解释,为什么它坏了,为什么它被修复了?我担心如果我不学习这一部分,那么问这个问题将是徒劳的。你说我没有等待抓取完成是什么意思?@TheAmazingNeckbeard你会看到有2个
然后
块。第一个块获取
响应
对象,即您在上面记录的对象。然后,如果使用
.text()
方法,它将读取此流直至完成。这一切都基于js fetch请求的异步性质。阅读本页--以及
承诺
了解更多详细信息,那么fetch的工作方式与xmlhttprequest不同?我不能运行php然后返回?一切都要等到最后@我很确定,这是一款无法与XMLHTTPREQUEST一起使用的令人惊叹的Neckbeard。但无论如何这样做是没有意义的。。。通过Ajax请求,您可以将数据返回到JavaScript中,然后JavaScript可以做任何它想做的事情。也不需要在响应中包含单独的JS块,这只是重复,而且它不会被视为代码。Fetch和XHR都实现了Ajax。规范没有改变,只是代码接口。在这两种情况下,您都必须等待请求完成,然后才能执行任何有效的操作。但还是不明白为什么。有没有可能你能给我一点更详细的解释,为什么它坏了,为什么它被修复了?我担心如果我不学习这一部分,那么问这个问题将是徒劳的。你说我没有等待抓取完成是什么意思?@TheAmazingNeckbeard你会看到有2个
然后
块。第一个块获取
响应
对象,即您在上面记录的对象。然后,如果使用
.text()
方法,它将读取此流直至完成。这一切都基于js fetch请求的异步性质。阅读本页--以及
承诺
了解更多详细信息,那么fetch的工作方式与xmlhttprequest不同?我不能运行php然后返回?一切都要等到最后@我很确定,这是一款无法与XMLHTTPREQUEST一起使用的令人惊叹的Neckbeard。但无论如何这样做是没有意义的。。。通过Ajax请求,您可以将数据返回到JavaScript中,然后JavaScript可以做任何它想做的事情。也不需要在响应中包含单独的JS块,这只是重复,而且它不会被视为代码。Fetch和XHR都实现了Ajax。规范没有改变,只是代码接口。在这两种情况下,您都必须等待请求完成后才能执行任何操作
fetch('./files/php/scripts/dataEntery.php', {
  method:'POST',
  body: data
}).then(response => {
   return response.text();
}).then(response => {
   console.log(response);
});