Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.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/4/webpack/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
PHP类中的Jquery_Php_Jquery_Api - Fatal编程技术网

PHP类中的Jquery

PHP类中的Jquery,php,jquery,api,Php,Jquery,Api,我需要通过php将一些XML发布到我们网络上的API中。通常我会使用Curl来完成这项工作,我知道它工作得很好,但是我脚本运行的服务器没有Curl,如果不深入所有细节,它就无法安装,因为它破坏了服务器上其他一些重要的生产应用程序 经过一些思考,我希望通过jquery将我的XML发布到API中。我想知道是否有人知道是否可以从PHP类中访问jquery?我知道这听起来很疯狂,我相信有人会告诉我为什么我不应该这样做,但对我来说,这听起来是一个合理的解决方案 否则,我可能必须遍历该类并尝试将xml拉回到

我需要通过php将一些XML发布到我们网络上的API中。通常我会使用Curl来完成这项工作,我知道它工作得很好,但是我脚本运行的服务器没有Curl,如果不深入所有细节,它就无法安装,因为它破坏了服务器上其他一些重要的生产应用程序

经过一些思考,我希望通过jquery将我的XML发布到API中。我想知道是否有人知道是否可以从PHP类中访问jquery?我知道这听起来很疯狂,我相信有人会告诉我为什么我不应该这样做,但对我来说,这听起来是一个合理的解决方案

否则,我可能必须遍历该类并尝试将xml拉回到使用该类发送xml的控制器和页面

另外,我们已经尝试使用命令行curl来解决我们的问题,但是我们在一些请求中遇到了URL长度的问题,因为XML可能非常大,太长,无法通过URL传递


有什么想法吗?

你不能。jQuery在客户端的浏览器中运行,而不是在服务器上运行。您可以将Javascript发送到客户端并在那里执行您的工作。但是,您也可以使用将数据发送到另一方,如果它接受每次获取的数据。

请改用

从发布的@Val链接复制:

<?php
$fp = fsockopen("www.example.com", 80, $errno, $errstr, 30);
if (!$fp)
{
echo 'Could not open connection.';
}
else
{
$xmlpacket ='<?XML version="1.0"?>
<Your_XML>
</Your_XML>';

$contentlength = strlen($xmlpacket);

$out = "POST /script_name.php HTTP/1.0\r\n";
$out .= "Host: www.example.com\r\n";
$out .= "Connection: Keep-Alive\r\n";
$out .= "Content-type: application/x-www-form-urlencoded\r\n";
$out .= "Content-length: $contentlength\r\n\r\n";
$out .= "XML=$xmlpacket";

fwrite($fp, $out);
while (!feof($fp))
{
$theOutput .= fgets($fp, 128);
}
fclose($fp);

// $theOutput is the response returned from the remote script
}
?>


试试这个……谢谢你,我现在就要试试这个^^这不是一个很好的解决方案,但是为了解决这个问题,我们在服务器上创建了一个新的db表,它创建了xml,并且基本上在表中创建了一行xml。然后,我们使用命令行curl(不是php curl)向api发送我们插入的行的id。api然后从数据库中加载xml,解析并返回响应。对于一个永久解决方案,它有太多的失败点,但我们周一需要一些工作,所以它现在就可以了,并在下周的开发副本上为更好的解决方案而努力。^^感谢所有花时间帮助您的人=Dtgank you for your response。我确实尝试过这个方法,但是如果给我们一个错误。关于无法打开请求的url,即使我们可以在浏览器中访问url。另一方面,好消息是我确实找到了一个解决方案,这个解决方案不太好,但目前确实有效,我将在上面解释。尽管我们没有使用这个解决方案,但它看起来确实是解决我面临的问题的最佳解决方案。所以我会接受这个答案。