2017-05-05 6 views
0

私はHackerEarth Apiで作業しようとしていたので、コンパイル/実行機能を自分のWebサイトに組み込みたいと思っていました。ここに見つけることができるドキュメントによると - https://www.hackerearth.com/docs/wiki/developers/v3/私は のpythonスクリプトを使用して私のコードのjson応答を得ることができることを知りました。PythonのJqueryに相当するrequests.post()

#! -*- coding: utf-8 -*- 

import requests 

# constants 
RUN_URL = u'https://api.hackerearth.com/v3/code/run/' 
CLIENT_SECRET = '5db3f1c12c59caa1002d1cb5757e72c96d969a1a' 
#not my own secret key 

source = "print 'Hello World'" 

data = { 
    'client_secret': CLIENT_SECRET, 
    'async': 0, 
    'source': source, 
    'lang': "PYTHON", 
    'time_limit': 5, 
    'memory_limit': 262144, 
} 

r = requests.post(RUN_URL, data=data) 
print r.json() 

私は上記のコードを実行しようとしてもうまくいきます。 私のサイトはプレーンhtml、cc、js、jquery、bootstrapを使ってビルドされています。私はjquery postメソッドを使ってこれを動作させようとしていました。

code=document.getElementById('codeinput').value; 
langaugeUsed=document.getElementById('languageSelector').value; 
url='https://api.hackerearth.com/v3/code/compile/'; 
secret = '5db3f1c12c59caa1002d1cb5757e72c96d969a1a'; //not my own secret key 


$.post(url, {client_secret: secret, 
async: 0, 
source: code, 
lang: languageUsed, 
dataType:'json', 
time_limit: 5, 
memory_limit: 262144 }, 
    function(returnedData){ 
     alert(returnedData); 
}, 'json'); 

私は私のコンソールをチェックすると、私は、スクリプトを実行しようとした後、これらのエラーを持っていた - - 私がいた試してみました何

は、リソースの読み込みに失敗しました:サーバーは、(403の状態で応答し禁止されています) index.html#:1 XMLHttpRequestはhttps://api.hackerearth.com/v3/code/compile/をロードできません。要求されたリソースに「Access-Control-Allow-Origin」ヘッダーが存在しません。したがって、原点「ヌル」はアクセスが許可されません。応答にHTTPステータスコード403がありました。

誰でもこの問題を解決できますか?

答えて

0

CORSの問題が発生しています。デフォルトでは、ブラウザは異なるURLでリクエストを送信することを許可していません。 CORSヘッダーを追加することでこれを手動で許可する必要があります。

よく見ることができますCORS Python Library