Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/16.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 jsonp请求收到401个未经授权的请求_Javascript_Json_Api_Jsonp - Fatal编程技术网

Javascript jsonp请求收到401个未经授权的请求

Javascript jsonp请求收到401个未经授权的请求,javascript,json,api,jsonp,Javascript,Json,Api,Jsonp,我正在使用select2插件连接LinkedIn的公司搜索API。我需要的是它与jsonp一起工作,这样我就可以避免我在常规json请求中遇到的访问控制允许源代码错误[我已经确认,当我在Chrome中禁用默认安全设置时,json请求可以工作。]。通过工作,我的意思是我希望jsonp请求url像json请求url一样对我进行身份验证,但我继续收到一个未经授权的错误 我认为我的问题在于jsonp设置的url中的回调参数。例如,由json创建的经LinkedIn验证的公司搜索url是: 对于jsonp

我正在使用select2插件连接LinkedIn的公司搜索API。我需要的是它与jsonp一起工作,这样我就可以避免我在常规json请求中遇到的访问控制允许源代码错误[我已经确认,当我在Chrome中禁用默认安全设置时,json请求可以工作。]。通过工作,我的意思是我希望jsonp请求url像json请求url一样对我进行身份验证,但我继续收到一个未经授权的错误

我认为我的问题在于jsonp设置的url中的回调参数。例如,由json创建的经LinkedIn验证的公司搜索url是:

对于jsonp,它类似于:

唯一明显的区别是callback=jQuery。。。参数以下是我的JavaScript:

function generateUrl(term) {
    (function ($) {

    var apiKey = 'xxx';
    var apiSecret = 'xxx';
    var memberToken = 'xxx';
    var memberSecret = 'xxx';
    var action = 'GET';
    var path = 'http://api.linkedin.com/v1/company-search';
    var nonce = '1234';
    var timestamp = Math.floor((new Date()).getTime()/1000);
    var version = '1.0';
    var args = "keywords=" + term;
    // var format = 'json';

    if (args != '') { args += '&'; }
    args += "&oauth_nonce=" + nonce + "&oauth_timestamp=" + timestamp + "&oauth_version=" + version;

    OAuthSimple().reset();
    this.results = (new OAuthSimple()).sign({
      path:path,
      action:action,
      parameters:args,
      signatures:{
        'consumer_key':apiKey, 'shared_secret': apiSecret,
        'access_token':memberToken,'access_secret':memberSecret}
      }
    );

    }
    (jQuery));
    return results.signed_url.slice(results.signed_url.indexOf('?') + 1);
  }

    $("#linkedin").select2({
      placeholder: "Search for a company.",
      minimumInputLength: 1,
      allowClear: true,
      ajax: {
        url: 'http://api.linkedin.com/v1/company-search',
        dataType: 'jsonp',
        data: function (term, page) {
          return generateUrl(term);
        },
        results: function (data, page) {
          return { results: data.companies.values };
        }
      },
      formatResult: companyFormatResult,
      formatSelection: companyFormatSelection,
      dropdownCssClass: "bigdrop_3"
  });

  function companyFormatResult(company) {
    return company.name;
  }

  function companyFormatSelection(company) {
    return company.name;
  }
这可能与我的url参数的语法有关吗?当关键字参数不是在公司搜索后立即出现时,我遇到了问题?在普通的json请求中,但是将jsonp请求中的回调参数移动到url的末尾似乎没有帮助

先谢谢你