如何从 joomla 插件提交 ajax 调用
How to submit an ajax call from joomla plugin
我有一个困扰我的挑战。
问题是 - 我正在创建一个插件,该插件正在对该插件中的另一个文件进行 AJAX 调用。 Joomla 似乎阻止我访问该文件。
我需要 POST 到一个文件,该文件包含来自 SOAP 调用的 returns 数据。
我从这一行调用文件:
$html .= '$.post("search.php", { address: $(\'#address\').val(), zipcode: $(\'#zipcode\').val() },';
我也尝试了相对路径、绝对路径和服务器路径——Joomla 不喜欢它。但是我不记得也没有找到正确的方法。
该文件与输出上述代码的插件位于同一文件夹中。
这是我的插件输出的完整 javascript 函数:
$html .= '<script type="text/javascript">';
$html .= 'function searchParcels()';
$html .= '{';
$html .= '$.post("search.php", { address: $(\'#address\').val(), zipcode: $(\'#zipcode\').val() },';
$html .= 'function(data) {';
$html .= 'var shops = $.parseJSON(data);';
$html .= '$(\'#shops_output\').html(\'\');';
$html .= 'for(i in shops)';
$html .= '{';
$html .= 'var html = \'<p>\'';
$html .= '+ shops[i][\'CompanyName\'] + \'<br>\'';
$html .= '+ shops[i][\'Streetname\'] + \'<br>\'';
$html .= '+ shops[i][\'ZipCode\'] + \' \' + shops[i][\'CityName\'] + \'<br>\'';
$html .= '+ shops[i][\'Telephone\'] + \'<br>\'';
$html .= '+ \'</p>\';';
$html .= '$(\'#shops_output\').append(html);';
$html .= '}';
$html .= '});';
$html .= '}';
$html .= '</script>';
非常感谢任何帮助:-)
谢谢
请检查 this post 如何使用 Joomla 的 ajax 界面(您似乎没有使用它)。这比您描述的方法更容易、更清洁(也更标准)。您需要做的就是创建 module/plugin(确保您有一个以 "Ajax" 结尾的函数名称),然后从您的 Joomla 网站上的任何地方发出正确的调用(确保您使用 URL 网站上描述的模式)。
我有一个困扰我的挑战。 问题是 - 我正在创建一个插件,该插件正在对该插件中的另一个文件进行 AJAX 调用。 Joomla 似乎阻止我访问该文件。
我需要 POST 到一个文件,该文件包含来自 SOAP 调用的 returns 数据。
我从这一行调用文件:
$html .= '$.post("search.php", { address: $(\'#address\').val(), zipcode: $(\'#zipcode\').val() },';
我也尝试了相对路径、绝对路径和服务器路径——Joomla 不喜欢它。但是我不记得也没有找到正确的方法。
该文件与输出上述代码的插件位于同一文件夹中。
这是我的插件输出的完整 javascript 函数:
$html .= '<script type="text/javascript">';
$html .= 'function searchParcels()';
$html .= '{';
$html .= '$.post("search.php", { address: $(\'#address\').val(), zipcode: $(\'#zipcode\').val() },';
$html .= 'function(data) {';
$html .= 'var shops = $.parseJSON(data);';
$html .= '$(\'#shops_output\').html(\'\');';
$html .= 'for(i in shops)';
$html .= '{';
$html .= 'var html = \'<p>\'';
$html .= '+ shops[i][\'CompanyName\'] + \'<br>\'';
$html .= '+ shops[i][\'Streetname\'] + \'<br>\'';
$html .= '+ shops[i][\'ZipCode\'] + \' \' + shops[i][\'CityName\'] + \'<br>\'';
$html .= '+ shops[i][\'Telephone\'] + \'<br>\'';
$html .= '+ \'</p>\';';
$html .= '$(\'#shops_output\').append(html);';
$html .= '}';
$html .= '});';
$html .= '}';
$html .= '</script>';
非常感谢任何帮助:-) 谢谢
请检查 this post 如何使用 Joomla 的 ajax 界面(您似乎没有使用它)。这比您描述的方法更容易、更清洁(也更标准)。您需要做的就是创建 module/plugin(确保您有一个以 "Ajax" 结尾的函数名称),然后从您的 Joomla 网站上的任何地方发出正确的调用(确保您使用 URL 网站上描述的模式)。