Jquery Ajax 结果奇怪的行为.需要建议

本文关键字:Ajax 结果 Jquery | 更新日期: 2023-09-27 17:55:44

我有一个对我的 WCF 服务的 ajax 调用,该服务将所有单击记录到服务器中。我的与我的服务通信的jquery代码如下

function recordClick(message)
{
     var a =  $.ajax({
            type: "GET",
            url: "http://10.4.201.39:8011/MyService.svc/AddTimeStampToFile" ,
            data: {videoName: message},
            dataType: "json",
            success: serviceSuccess,
            error: errorMessage
     });
     alert(a); ????? // If I delete this line My service always return Error
 }
 function serviceSuccess(data) {
     alert("Click Recorded");  
 }
 function errorMessage () {
     alert("Click Recording Error");
 }

现在我不确定我是否遗漏了什么,或者有很多程序员有类似的经验,当我删除该行时

alert (a);

在我的记录点击函数中,它总是抛出错误。这告诉我,我将对结果有所作为,在这种情况下我不想做任何事情。

如果这可能有帮助:我的 AddTimeStamp WCF 服务返回一个我主要用于测试目的的 int。

Jquery Ajax 结果奇怪的行为.需要建议

您错误地调用了点击事件,请改用以下命令:

$('#linkName').click(function() {
  var a =  $.ajax({
         type: "GET",
         url: "http://10.4.201.39:8011/MyService.svc/AddTimeStampToFile" ,
         data: {videoName: message},
         dataType: "json",
         success: serviceSuccess,
         error: errorMessage
  });
  alert(a); ????? // If I delete this line My service always return Error
 });
function serviceSuccess(data) {
  alert("Click Recorded");    
 }  
 function errorMessage () {
  alert("Click Recording Error");  
 }

尝试将recordClick函数更改为以下内容:

function recordClick(message) {
    $('#linkName').click(); //fire the click event handler for #linkName
    $.ajax({
        "type": "GET",
        "url": "http://10.4.201.39:8011/MyService.svc/AddTimeStampToFile" ,
        "data": {
            "videoName": message
        },
        "dataType": "json",
        "success": function (data, textStatus, jqXHR) {
            alert(data);
        },
        "error": function (jqXHR, textStatus, errorThrown) {
            alert(textStatus + ':' + errorThrown);
        }
    });
}

您遇到的错误是什么?