我想使用JSON作爲Ajax請求(使用jQuery)的返回類型,但我的代碼總是導致錯誤。我試過改變json和jsonp之間的MIME類型,但無濟於事。Ajax請求不與數據類型「jsonp」或「JSON」
我也不確定是否正確格式化數據:部分。我知道我需要將所有信息都包含在JSON字符串中,但我不知道它是否正確。
$.ajax({
type: "POST",
url: '-----',
dataType: "jsonp",
data: '{"jobtitle":"job"}',
beforeSend:function(){ },
success: function(data){
var data = $.parseJSON(data);
},
error: function(){
alert("error with Ajax request");
}
});
編輯:這是我的服務器端代碼。我不知道如何從中返回有效的JSON。
<?php
$jobtitle = $_POST["jobtitle"];
$city = $_POST["city"];
$state = $_POST["state"];
$url = "http://www.indeed.com/jobs?q=". $jobtitle ."&l=". $city ."%2C". $state;
$document = new DOMDocument;
$html = file_get_contents($url);
$document ->loadHTML($html);
$xpath= new DOMXPath($document);
$results = $xPath->query('//div[@id="searchCount"]');
$string = "";
if ($results){
for ($i=0; $i < $results->length; $i++) {
$node = $results->item($i)->textContent;
}
$exp = explode(" ", $node);
print "Number of jobs: <b>".$exp[5]. "</b>";
}
dataType是***返回***的數據,沒有發送,所以你的服務器或任何你聯繫的返回有效的JSON? – adeneo
顯示您的服務器端代碼請 – 2013-08-02 18:41:06
我認爲使用POST和jsonp是你的問題。 –