我想使用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。
$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: ".$exp[5]. "";
}
+4
dataType是***返回***的数据,没有发送,所以你的服务器或任何你联系的返回有效的JSON? –
+2
显示您的服务器端代码请 –
2013-08-02 18:41:06
+1
我认为使用POST和jsonp是你的问题。 –