我有一个javascript应用程序调用ajax函数,看起来像这样
$.ajax({ url: apiURL, dataType: 'jsonp', success: function(data) {
if (data.ok) {
//do things
}}});
我试图访问的ajax网址是通过etsyapi 一切正常,花花公子,直到我尝试使用adblock访问chrome中的应用程序。它使ajax调用完全失败,返回错误,无法加载资源 - “theActualURL”消息。
我无法弄清楚如何通过javascript来解决这个问题并被告知我需要进行一次php调用以使其正常工作。
不幸的是,我不知道关于php的第一件事我甚至试图理解它的基本结构,而且我还没有能够在javascript中找到任何解决方法,所以我认为必须用php来完成。< / p>
有没有最简单的方法在动态网址(从javascript传递到php页面)中调用php中的ajax函数并让它将数组传递回javascript到maniuplate?
我已经用PHP了 -
<?php
$json = array();
????????????????????????
$jsonstring = json_encode($json);
echo $jsonstring;
?>
但不明白如何从javascript访问动态网址。
答案 0 :(得分:0)
如果它真的使用jsonp你不应该需要php。将 $.ajax...
替换为:
var newScript = document.createElement('script');
newScript.src = apiURL;
document.head.appendChild(newScript);
击> <击> 撞击>
忽略上述内容,我对jQuery已经过时了。即便如此,如果API端点真的用jsonp响应,你也不应该需要php。如果您收到错误,这听起来像是错误/错误的网址。您是否尝试过将apiURL
放入浏览器的地址栏?
jsonp是一个解决跨域ajax限制的方法,它将返回的数据包装在javascript函数调用中。这允许您将其加载到脚本标记中,并在执行脚本时将数据作为参数运行。