【问题标题】:very simple ajax query not working非常简单的ajax查询不起作用
【发布时间】:2012-11-03 07:44:23
【问题描述】:

我知道我是 ajax 新手,但我已经连续 2 个小时尝试这个查询了。

我要连接的网站是 http://cbsserver.zni.in/dnd/?phone=xxxxxxxxxx&apikey=xyz 在此我们必须发布一个我拥有的私有 api 密钥和一个手机号码来检查状态。要测试它,请使用 phone = '9999052908' & '9810241604'api_key = 'c115da3fcad11daa26dbbfd4f06387d8' 我使用的代码如下

JQUERY

var dnd_api_key = c115da3fcad11daa26dbbfd4f06387d8
    $('input#check_for_dnd').click(function() {
                $.post("http://cbsserver.zni.in/dnd/",
            {
            phone:"9999052908",
            apikey: dnd_api_key
            },
      function(data,status){
        alert(status + "data:" + data);
      });

HTML

<input type="button" id="check_for_dnd" name="check_for_dnd" value="CHECK DND STATUS" />

请告诉我哪里出错了..

【问题讨论】:

  • api是否支持CORS? (它失败的事实可能意味着它不支持 CORS)否则这是不可能的,你必须从你的服务器发出请求。
  • ajax 调用只能返回到从中加载 javascript 的服务器。唯一的其他方法是通过 JSONP 调用,如果该 api 支持这样的事情。
  • “不工作”对您的问题的描述非常糟糕。发生了什么确切的错误?
  • 您应该尽快编辑掉您的 api 密钥。
  • 不在这里工作意味着警报不会弹出......对不起,我是个菜鸟

标签: jquery ajax api post


【解决方案1】:

您不能 - 一般来说,没有 JSONP 和 CORS 等例外 - 对远程 url 进行 ajax 调用。

尝试在请求页面的服务器上使用“代理文件”(例如,用 PHP 编写)。然后对位于您服务器上的此代理文件进行 ajax 调用。

这可能看起来像这样(如果服务也可以使用 GET 请求,否则您必须使用流或 CURL):

$result = file_get_contents("http://cbsserver.zni.in/dnd/?phone=xxxxxxxxxx&apikey=xyz");
echo $result;

将此文件保存在您的服务器上并像您一样使用 ajax 请求它:

$('input#check_for_dnd').click(function() {
                $.post("my_proxy_file.php",
      function(data,status){
        alert(status + "data:" + data);
      });

【讨论】:

  • 请详细说明一下..然后我会尝试搜索代理文件...从未使用过它们..
  • 我找到了 abdulqabiz.com/blog/archives/2007/05/31/… 。但没有帮助..因为脚本不可下载..@David Müller
  • 用一个例子更新了我的帖子。 “代理文件”只是为您处理请求的 php 脚本的一个术语。
  • 我认为您正在查看 REST 服务。以下是有关 REST 的一些基本信息:phpwebservices.blogspot.ca/2008/01/rest-with-php_20.html 正如 David Muller 所说,您可以在“代理文件”中使用此代码……但不要使用 google 代理文件……大卫刚刚提出了这个术语
  • 其实上面提到的网站是开发者的api,所以它必须支持CORS...@David Muller
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-26
相关资源
最近更新 更多