Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/293.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/blackberry/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 Ajax:无法成功发送第二个请求,因为它需要sessionid_Javascript_Php_Mysql_Ajax_Leaflet - Fatal编程技术网

Javascript Ajax:无法成功发送第二个请求,因为它需要sessionid

Javascript Ajax:无法成功发送第二个请求,因为它需要sessionid,javascript,php,mysql,ajax,leaflet,Javascript,Php,Mysql,Ajax,Leaflet,我的应用程序基于JSAPI,所以它仅限于javascript和Webview(因为我正在为手机编译应用程序)。 所以Index.html文件将始终位于设备的本地,并且它将作为一个应用程序工作。 我想添加一个选项,让用户能够登录到我的应用程序,当他们登录时,他们可以在地图上添加标记和一些额外的数据。 所以我编写了php文件,将登录/注册功能和查询添加到mysql服务器作为后端。 这些文件必须在服务器上,所以要访问它们,我需要发送登录请求或在其中一个文件中运行查询 我创建了Ajax请求,但问题是没有

我的应用程序基于JSAPI,所以它仅限于javascript和Webview(因为我正在为手机编译应用程序)。 所以Index.html文件将始终位于设备的本地,并且它将作为一个应用程序工作。 我想添加一个选项,让用户能够登录到我的应用程序,当他们登录时,他们可以在地图上添加标记和一些额外的数据。 所以我编写了php文件,将登录/注册功能和查询添加到mysql服务器作为后端。 这些文件必须在服务器上,所以要访问它们,我需要发送登录请求或在其中一个文件中运行查询

我创建了Ajax请求,但问题是没有缓存sessionID。 所以我可以创建登录请求,但当我尝试发送另一个查询请求时,我无法这样做,因为用户没有登录(没有sessionID)。 出于安全考虑,如果有更好的方法进行登录/注册和查询,我希望保留这样的设置。欢迎提供建议。 我尝试使用xhr.getResponseHeader('Set-Cookie')获取sessionid。 但我收到了: 当请求的凭据模式为“包含”时,响应中的“访问控制允许来源”标头的值不得为通配符“*”。因此,不允许访问源“null”。XMLHttpRequest启动的请求的凭据模式由withCredentials属性控制。

我无法将通配符“*”更改为任何ip地址,因为移动用户将从不同的ip地址发送请求。 有人能给我建议一些改变,让一切都能正常工作吗?
谢谢

所以,您需要更改服务器代码以发送一个带有接收的
origin
请求标头的access control allow origin标头-我认为您对服务器端代码有一定的控制权。您可以通过读取请求来自的IP地址并每次将allow origin标头动态设置为该IP来伪造它。@ADyson-请求的IP地址不是
来源
。。。
origin
标题是
origin
,它是请求来源的网站(与客户端无关)
,因为移动用户
-是无关的,来源是请求发起的(跨来源)网站-阅读-它解释much@JaromandaX对不起是的你技术上是正确的,尽管OP确实提到了这将是移动设备本身本地的一个.html文件。