Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.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 无法使用XMLHttpRequest()将带有外部文件.js的数据发送到php_Javascript - Fatal编程技术网

Javascript 无法使用XMLHttpRequest()将带有外部文件.js的数据发送到php

Javascript 无法使用XMLHttpRequest()将带有外部文件.js的数据发送到php,javascript,Javascript,将javascript代码直接放在HTML页面中,就可以了。但是,如果我使用脚本上的src属性引用脚本,它将不起作用 这是我的HTML页面: 我无法获取以下javascript代码将数据发送到PHP页面: 这在file.js中 var http=new-XMLHttpRequest(); var url='server.php'; 变量参数='a=use&b=12345678'; http.open('POST',url,true);//错误javascript始终停止在此处 http.se

将javascript代码直接放在HTML页面中,就可以了。但是,如果我使用脚本上的src属性引用脚本,它将不起作用 这是我的HTML页面:


我无法获取以下javascript代码将数据发送到PHP页面: 这在file.js中

var http=new-XMLHttpRequest();
var url='server.php';
变量参数='a=use&b=12345678';
http.open('POST',url,true);//错误javascript始终停止在此处
http.setRequestHeader('Content-type','application/x-www-form-urlencoded');
http.onreadystatechange=函数(){
如果(http.readyState==4&&http.status==200)
{alert(http.responseText);}
http.send(params);
这是在
server.php中:


当我将javascript代码直接放在HTML页面中时,它确实起作用。如果我使用
script
标记上的
src
属性引用脚本,它怎么会不起作用?
例如,当我将file.js脚本放入在线编译器(如“playcode.io”)中时,它不起作用

无论您是将javascript代码直接放入HTML页面还是使用脚本上的src属性将其添加到脚本中。问题是,您没有使用
setRequestHeader()
设置请求头。在
http.open()
之后,但在
http.send()
之前添加以下代码行,它肯定会起作用:

http.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');

应用程序/x-www-form-urlencoded
格式提供了一种对名称-值对进行编码的方法。

是否有任何东西阻止您使用?IE 11是唯一缺少支持的东西。如果你不需要支持IE11,你的生活会轻松一百万倍。如果你真的需要IE的支持。。。不太多。可能是重复的否。2后不是重复的no解决方案Week@MYARCH您的文件体系结构是什么?HTML和JS文件在同一个文件夹中吗?很抱歉,仍然无法使用我添加的http.open('POST',url,true);//----------->始终停止她的http.setRequestHeader('Content-type','application/x-www-form-urlencoded');http.onreadystatechange=function(){//在状态更改时调用函数。if(http.readyState==4&&http.status==200){alert(http.responseText);}}}http.send(params)
我已经获取了您的代码,并在添加
http.setRequestHeader('Content-type','application/x-www-form-urlencoded')后在我的机器上运行了它。而且效果很好。我添加了
onreadystatechange
代码,它用
username:use
发出警报。试着在试着运行代码时运行它,它无法发送到php,看起来像
http.open('POST',url,true//js file超出html正文时未定义
我不知道你是如何在playcode.io上运行php的。这是我的php代码``